1400
Is it possible to define my values for sorting
G2antt1->Columns->Add(L"C1")->SortType = Exg2anttlib_tlb::SortTypeEnum::SortUserDataString;
G2antt1->Columns->Add(L"C2");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Cell 1"));
	var_Items->set_CellData(TVariant(h),TVariant(0),TVariant("3.your extra data"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SortValue=3"));
	h = var_Items->AddItem(TVariant("Cell 1.1"));
	var_Items->set_CellData(TVariant(h),TVariant(0),TVariant("1.your extra data"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant(" SortValue=1"));
	h = var_Items->AddItem(TVariant("Cell 1.2"));
	var_Items->set_CellData(TVariant(h),TVariant(0),TVariant("5.your extra data"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant(" SortValue=5"));
	h = var_Items->AddItem(TVariant("Cell 1.3"));
	var_Items->set_CellData(TVariant(h),TVariant(0),TVariant("2.your extra data"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant(" SortValue=2"));

1399
I have multiple dropdown lists, that are depending on each other, that means that the values in dropdown list no. 2 is based on the users selection in dropdown list no 1. How can I do this
// EditOpen event - Occurs when the edit operation starts.
void __fastcall TForm1::G2antt1EditOpen(TObject *Sender)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		TVariant v = TVariant(var_Items->get_CellValue(TVariant(var_Items->FocusItem),TVariant(0)));
		String c = var_Items->get_CellCaption(TVariant(var_Items->FocusItem),TVariant(0));
	Exg2anttlib_tlb::IEditorPtr var_Editor = G2antt1->Columns->get_Item(TVariant(1))->Editor;
		var_Editor->ClearItems();
		var_Editor->AddItem(v,L"c",TNoParam());
}

G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"DropDownList");
	Exg2anttlib_tlb::IEditorPtr var_Editor = var_Column->Editor;
		var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::DropDownListType;
		var_Editor->AddItem(1,L"First",TNoParam());
		var_Editor->AddItem(2,L"Second",TNoParam());
		var_Editor->AddItem(3,L"Third",TNoParam());
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exAllLines;
G2antt1->Columns->Add(L"DropDownList-Related")->Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::DropDownListType;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(1))),TVariant(1),TVariant(-1));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(2))),TVariant(1),TVariant(-1));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(3))),TVariant(1),TVariant(-1));
	var_Items->set_LockedItemCount(Exg2anttlib_tlb::VAlignmentEnum::exBottom,1);
	long h = var_Items->get_LockedItem(Exg2anttlib_tlb::VAlignmentEnum::exBottom,0);
	var_Items->set_ItemDivider(h,0);
	var_Items->set_ItemDividerLineAlignment(h,Exg2anttlib_tlb::DividerAlignmentEnum::DividerTop);
	var_Items->set_CellEditorVisible(TVariant(h),TVariant(0),Exg2anttlib_tlb::EditorVisibleEnum::exEditorHidden);
	var_Items->set_CellSingleLine(TVariant(h),TVariant(0),Exg2anttlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
	var_Items->set_CellValueFormat(TVariant(h),TVariant(0),Exg2anttlib_tlb::ValueFormatEnum::exHTML);
	var_Items->set_CellValue(TVariant(h),TVariant(0),TVariant(String("The drop down editor in the second column is filled during the <b>EditOpen event</b>, and the values are based on the selection") +
" on the first column."));
G2antt1->EndUpdate();

1398
Is it possible background color displayed when the mouse passes over an item
G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Def");
G2antt1->HotBackColor = RGB(0,0,128);
G2antt1->HotForeColor = RGB(255,255,255);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
G2antt1->EndUpdate();

1397
Is it possible to magnify a specified date and apply a different background color

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->DrawLevelSeparator = Exg2anttlib_tlb::LevelLineEnum::exLevelNoLine;
	var_Chart->set_PaneWidth(false,64);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2011,11,23).operator double()));
	var_Chart->LevelCount = 3;
	var_Chart->FirstWeekDay = Exg2anttlib_tlb::WeekDayEnum::exMonday;
	var_Chart->AllowInsideZoom = true;
	var_Chart->InsideZooms->Add(TVariant(TDateTime(2011,11,29).operator double()))->AllowCustomFormat = true;
	Exg2anttlib_tlb::IInsideZoomPtr var_InsideZoom = var_Chart->InsideZooms->get_Item(TVariant(TDateTime(2011,11,29).operator double()));
		var_InsideZoom->Width = 68;
		var_InsideZoom->CustomFormat->BackColorChart = RGB(224,224,224);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long hA = var_Items->AddItem(TVariant("Task A"));
	var_Items->AddBar(hA,TVariant("Task"),TVariant(TDateTime(2011,11,24).operator double()),TVariant(TDateTime(2011,11,26).operator double()),TVariant("A"),TNoParam());
	long hB = var_Items->AddItem(TVariant("Task B"));
	var_Items->AddBar(hB,TVariant("Task"),TVariant(TDateTime(2011,11,28).operator double()),TVariant(TDateTime(2011,12,1).operator double()),TVariant("B"),TNoParam());
	var_Items->AddLink(TVariant("LinkAB"),hA,TVariant("A"),hB,TVariant("B"));
	var_Items->set_Link(TVariant("LinkAB"),Exg2anttlib_tlb::LinkPropertyEnum::exLinkStyle,TVariant(2));
	var_Items->set_Link(TVariant("LinkAB"),Exg2anttlib_tlb::LinkPropertyEnum::exLinkWidth,TVariant(2));
G2antt1->EndUpdate();

1396
Could you please tell me how to add multiple bars to the one line

G2antt1->BeginUpdate();
G2antt1->Chart->set_FirstVisibleDate(TVariant(TDateTime(2002,1,1).operator double()));
G2antt1->Columns->Add(L"Task");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Task"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2002,1,2).operator double()),TVariant(TDateTime(2002,1,4).operator double()),TVariant("A"),TNoParam());
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2002,1,6).operator double()),TVariant(TDateTime(2002,1,10).operator double()),TVariant("B"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("A"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarColor,TVariant(255));
	var_Items->AddLink(TVariant("AB"),h,TVariant("A"),h,TVariant("B"));
G2antt1->EndUpdate();

1395
My development environment does not have any Object,GetOcx,DefaultDispatch,GetControlUnknown,nativeObject, ... property, is there any alternative I can pass the component to PrintExt so I can get printed
G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Task");
G2antt1->Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h1 = var_Items->AddItem(TVariant("Task 1"));
	var_Items->AddBar(h1,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K1"),TNoParam());
	long h2 = var_Items->AddItem(TVariant("Task 2"));
	var_Items->AddBar(h2,TVariant("Task"),TVariant(TDateTime(2001,1,5).operator double()),TVariant(TDateTime(2001,1,7).operator double()),TVariant("K2"),TNoParam());
	var_Items->AddLink(TVariant("L1"),h1,TVariant("K1"),h2,TVariant("K2"));
	var_Items->set_Link(TVariant("L1"),Exg2anttlib_tlb::LinkPropertyEnum::exLinkStartPos,TVariant(0));
G2antt1->EndUpdate();
G2antt1->Template = L"Dim p;p = CreateObject(`Exontrol.Print`);p.PrintExt = Me;p.AutoRelease = False;p.Preview();";

1394
My development environment does not have any Object,GetOcx,DefaultDispatch,GetControlUnknown,nativeObject, ... property, is there any alternative I can pass the component to PrintExt so I can get printed
G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Task");
G2antt1->Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h1 = var_Items->AddItem(TVariant("Task 1"));
	var_Items->AddBar(h1,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K1"),TNoParam());
	long h2 = var_Items->AddItem(TVariant("Task 2"));
	var_Items->AddBar(h2,TVariant("Task"),TVariant(TDateTime(2001,1,5).operator double()),TVariant(TDateTime(2001,1,7).operator double()),TVariant("K2"),TNoParam());
	var_Items->AddLink(TVariant("L1"),h1,TVariant("K1"),h2,TVariant("K2"));
	var_Items->set_Link(TVariant("L1"),Exg2anttlib_tlb::LinkPropertyEnum::exLinkStartPos,TVariant(0));
G2antt1->EndUpdate();
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		ExPrint 1.0 Control Library

	TypeLib: ExPrint.dll

	to define the namespace: Exprintlib_tlb
*/
//#include "EXPRINTLIB_TLB.h"
Exprintlib_tlb::IExPrintPtr var_Print = Variant::CreateObject(L"Exontrol.Print");
	var_Print->PrintExt = (IUnknown*)G2antt1->ExecuteTemplate(L"me");
	var_Print->Preview();

1393
Is it possible to display the bar's captions or labels with a different font/size

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Task");
G2antt1->DefaultItemHeight = 24;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,64);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->LevelCount = 2;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Default"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TVariant(""),TVariant("This is a the control's font"));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	h = var_Items->AddItem(TVariant("Smaller"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TVariant(""),TVariant("<font ;5>This is a the control's font with a smaller size"));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	h = var_Items->AddItem(TVariant("Larger"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TVariant(""),TVariant("<font ;15>This is a the control's font with a larger size"));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	h = var_Items->AddItem(TVariant("Tahoma 1"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TVariant(""),TVariant("<font Tahoma>This is using a Tahoma font"));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	h = var_Items->AddItem(TVariant("Tahoma 2"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TVariant(""),TVariant("<font Tahoma;14>This is using a <b>Tahoma</b> font with a different size"));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
G2antt1->EndUpdate();

1392
How can I apply the same ConditionalFormat on more than 1(one) column (multiple columns and not on item)
G2antt1->BeginUpdate();
Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = G2antt1->ConditionalFormats->Add(L"1",TVariant("K1"));
	var_ConditionalFormat->BackColor = RGB(255,0,0);
	var_ConditionalFormat->ApplyTo = Exg2anttlib_tlb::FormatApplyToEnum(0x1);
Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat1 = G2antt1->ConditionalFormats->Add(L"1",TVariant("K2"));
	var_ConditionalFormat1->BackColor = RGB(255,0,0);
	var_ConditionalFormat1->ApplyTo = Exg2anttlib_tlb::FormatApplyToEnum(0x2);
G2antt1->MarkSearchColumn = false;
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"Column 1");
	var_Columns->Add(L"Column 2");
	var_Columns->Add(L"Column 3");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TNoParam());
	var_Items->AddItem(TNoParam());
	var_Items->AddItem(TNoParam());
G2antt1->EndUpdate();

1391
Is it possible to change the height for all items at once
G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->Columns->Add(L"Items");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(0,true);
G2antt1->EndUpdate();
G2antt1->DefaultItemHeight = 12;
G2antt1->Items->set_ItemHeight(0,12);

1390
Is it possible to include the weekday when displaying the date

G2antt1->BeginUpdate();
G2antt1->MarkSearchColumn = false;
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"Tasks");
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Start");
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
		var_Column->FormatColumn = L"value + '<font ;6> '  + (weekday(date(value)) case(0:'Sun';1:'Mon';2:'Tue';3:'Wed';4:'Thu';5:'Fri';6:'Sat'))";
	Exg2anttlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"End");
		var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
		var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
		var_Column1->FormatColumn = L"value + '<font ;6> '  + (weekday(date(value)) case(0:'Sun';1:'Mon';2:'Tue';3:'Wed';4:'Thu';5:'Fri';6:'Sat'))";
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2006,9,20).operator double()));
	var_Chart->AllowLinkBars = false;
	var_Chart->AllowCreateBar = Exg2anttlib_tlb::CreateBarEnum::exNoCreateBar;
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,256);
	var_Chart->NonworkingDays = 0;
	var_Chart->FirstWeekDay = Exg2anttlib_tlb::WeekDayEnum::exMonday;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AllowCellValueToItemBar = true;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2006,9,21).operator double()),TVariant(TDateTime(2006,9,24).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2006,9,22).operator double()),TVariant(TDateTime(2006,9,25).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2006,9,23).operator double()),TVariant(TDateTime(2006,9,26).operator double()),TNoParam(),TNoParam());
G2antt1->EndUpdate();

1389
I need my chart to display the end date with on day less. How can I do this (Method 1)

G2antt1->BeginUpdate();
G2antt1->MarkSearchColumn = false;
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"Tasks");
	var_Columns->Add(L"Start")->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"End");
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
		var_Column->FormatColumn = L"shortdate(date(value)-1)";
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2006,9,20).operator double()));
	var_Chart->AllowLinkBars = false;
	var_Chart->AllowCreateBar = Exg2anttlib_tlb::CreateBarEnum::exNoCreateBar;
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,196);
	var_Chart->NonworkingDays = 0;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AllowCellValueToItemBar = true;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2006,9,21).operator double()),TVariant(TDateTime(2006,9,24).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2006,9,22).operator double()),TVariant(TDateTime(2006,9,25).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2006,9,23).operator double()),TVariant(TDateTime(2006,9,26).operator double()),TNoParam(),TNoParam());
G2antt1->EndUpdate();

1388
Is it possible to display my custom time-units

Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,0);
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(0));
	var_Chart->NonworkingDays = 0;
	Exg2anttlib_tlb::ILevelPtr var_Level = var_Chart->get_Level(0);
		var_Level->Unit = Exg2anttlib_tlb::UnitEnum::exDay;
		var_Level->Count = 16;
		var_Level->Alignment = Exg2anttlib_tlb::AlignmentEnum::CenterAlignment;
		var_Level->set_Label(TVariant("<%i%>"));
		var_Level->FormatLabel = L"'Half ' + (1 + (value/16) mod 2)";
	Exg2anttlib_tlb::ILevelPtr var_Level1 = var_Chart->get_Level(1);
		var_Level1->set_Label(TVariant("<%i%>"));
		var_Level1->FormatLabel = L"1 + value mod 16";
		var_Level1->set_ReplaceLabel(L"2",L"<font ;10><B>Y");
	var_Chart->AdjustLevelsToBase = true;
	var_Chart->set_ScrollRange(Exg2anttlib_tlb::ScrollRangeEnum::exStartDate,TVariant(0));
	var_Chart->set_ScrollRange(Exg2anttlib_tlb::ScrollRangeEnum::exEndDate,TVariant(31));

1387
Is it possible to add new records and see them in the control's view using the DataSource

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->set_SelectItem(Item,true);
		var_Items->EnsureVisibleItem(Item);
	G2antt1->Edit(TVariant(0));
}

// ButtonClick event - Occurs when user clicks on the cell's button.
void __fastcall TForm1::G2antt1ButtonClick(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex,Variant   Key)
{
	(IDispatch*)G2antt1->DataSource->AddNew(TNoParam(),TNoParam());
}

/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADODB.Recordset");
	rs->Append(L"Task",Adodb_tlb::DataTypeEnum::adBSTR,0,TNoParam(),TNoParam());
	rs->Append(L"Start",Adodb_tlb::DataTypeEnum::adDate,0,TNoParam(),TNoParam());
	rs->Append(L"End",Adodb_tlb::DataTypeEnum::adDate,0,TNoParam(),TNoParam());
rs->Open(TNoParam(),TNoParam(),TNoParam(),TNoParam(),0);
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
G2antt1->DetectAddNew = true;
G2antt1->DetectDelete = true;
G2antt1->DataSource = (IDispatch*)rs;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_LockedItemCount(Exg2anttlib_tlb::VAlignmentEnum::exTop,1);
	long h = var_Items->get_LockedItem(Exg2anttlib_tlb::VAlignmentEnum::exTop,0);
	var_Items->set_ItemDivider(h,0);
	var_Items->set_ItemHeight(h,22);
	var_Items->set_CellValue(TVariant(h),TVariant(0),TVariant("AddNew"));
	var_Items->set_CellHasButton(TVariant(h),TVariant(0),true);
	var_Items->set_CellHAlignment(TVariant(h),TVariant(0),Exg2anttlib_tlb::AlignmentEnum::CenterAlignment);

1386
How can I limit the bars to scrolling range only
// CreateBar event - Fired when the user creates a new bar.
void __fastcall TForm1::G2antt1CreateBar(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,DATE   DateStart,DATE   DateEnd)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->set_ItemBar(Item,TVariant("newbar"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarMinStart,TVariant(G2antt1->Chart->get_ScrollRange(Exg2anttlib_tlb::ScrollRangeEnum::exMinDate)));
		var_Items->set_ItemBar(Item,TVariant("newbar"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarMaxEnd,TVariant(G2antt1->Chart->get_ScrollRange(Exg2anttlib_tlb::ScrollRangeEnum::exMaxDate)));
}

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Task");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,56);
	var_Chart->set_ScrollRange(Exg2anttlib_tlb::ScrollRangeEnum::exStartDate,TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->set_ScrollRange(Exg2anttlib_tlb::ScrollRangeEnum::exEndDate,TVariant(TDateTime(2001,1,15).operator double()));
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,12).operator double()));
	var_Chart->AllowCreateBar = Exg2anttlib_tlb::CreateBarEnum::exCreateBarAuto;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Task 1"));
	var_Items->AddItem(TVariant("Task 2"));
	var_Items->AddItem(TVariant("Task 3"));
G2antt1->EndUpdate();

1385
How do I get the handle of the last added item
G2antt1->Columns->Add(L"Def");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant(1));
	var_Items->AddItem(TVariant(2));
	OutputDebugString( PChar(var_Items->get_ItemByIndex(var_Items->ItemCount)) );

1384
How can I set the charts date format to any other international Format then the US version. I would need "dd.mmm.yyyy" instead of "mmm.d.'yy"
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,0);
	var_Chart->LevelCount = 2;
	Exg2anttlib_tlb::ILevelPtr var_Level = var_Chart->get_Level(0);
		var_Level->set_Label(TVariant("<%dd%>.<%mmm%>.<%yyyy%>"));
		var_Level->Unit = Exg2anttlib_tlb::UnitEnum::exWeek;
		var_Level->Alignment = Exg2anttlib_tlb::AlignmentEnum::exHOutside | Exg2anttlib_tlb::AlignmentEnum::CenterAlignment;

1383
Is it possible to define the bar colors, and have the cumulative histogram showing the same colors

G2antt1->BeginUpdate();
G2antt1->SingleSel = false;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->AllowLinkBars = false;
	var_Chart->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exAllLines;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2000,12,24).operator double()));
	var_Chart->HistogramVisible = true;
	var_Chart->HistogramHeight = 64;
	var_Chart->set_PaneWidth(false,128);
	var_Chart->HistogramView = Exg2anttlib_tlb::HistogramViewEnum::exHistogramNoGrouping | Exg2anttlib_tlb::HistogramViewEnum::exHistogramLeafItems | Exg2anttlib_tlb::HistogramViewEnum::exHistogramUnlockedItems | Exg2anttlib_tlb::HistogramViewEnum::exHistogramSelectedItems;
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->HistogramType = Exg2anttlib_tlb::HistogramTypeEnum::exHistCumulative;
		var_Bar->HistogramItems = 6;
		var_Bar->HistogramPattern = var_Bar->Pattern;
		var_Bar->HistogramCumulativeOriginalColorBars = Exg2anttlib_tlb::HistogramCumulativeOriginalColorBarsEnum::exKeepOriginalColor;
		var_Bar->OverlaidType = Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsOffset;
G2antt1->Columns->Add(L"Column");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	var_Items->set_ItemBold(h,true);
	var_Items->set_SelectableItem(h,false);
	long h1 = var_Items->InsertItem(h,TNoParam(),TVariant("Item 1"));
	var_Items->AddBar(h1,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TNoParam(),TNoParam());
	h1 = var_Items->InsertItem(h,TNoParam(),TVariant("Item 2"));
	var_Items->AddBar(h1,TVariant("Task"),TVariant(TDateTime(2001,1,3).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TNoParam(),TNoParam());
	h1 = var_Items->InsertItem(h,TNoParam(),TVariant("Item 3"));
	var_Items->AddBar(h1,TVariant("Task"),TVariant(TDateTime(2001,1,4).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(h1,TVariant("Task"),TVariant(TDateTime(2001,1,1).operator double()),TVariant(TDateTime(2001,1,3).operator double()),TVariant("green"),TNoParam());
	var_Items->set_ItemBar(h1,TVariant("green"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarColor,TVariant(65280));
	var_Items->AddBar(h1,TVariant("Task"),TVariant(TDateTime(2001,1,8).operator double()),TVariant(TDateTime(2001,1,10).operator double()),TVariant("red"),TNoParam());
	var_Items->set_ItemBar(h1,TVariant("red"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarColor,TVariant(255));
	var_Items->set_ExpandItem(h,true);
	var_Items->SelectAll();
G2antt1->EndUpdate();

1382
How can I hide the values shown in the legend when cumulative histogram is displayed

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->HistogramVisible = true;
	var_Chart->HistogramHeight = 64;
	var_Chart->set_PaneWidth(false,128);
	var_Chart->HistogramView = Exg2anttlib_tlb::HistogramViewEnum::exHistogramNoGrouping | Exg2anttlib_tlb::HistogramViewEnum::exHistogramLeafItems | Exg2anttlib_tlb::HistogramViewEnum::exHistogramUnlockedItems | Exg2anttlib_tlb::HistogramViewEnum::exHistogramCheckedItems;
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->HistogramPattern = Exg2anttlib_tlb::PatternEnum::exPatternSolid;
		var_Bar->HistogramType = Exg2anttlib_tlb::HistogramTypeEnum::exHistCumulative;
		var_Bar->HistogramItems = 6;
		var_Bar->HistogramRulerLinesColor = RGB(128,0,0);
		var_Bar->HistogramBorderColor = RGB(1,0,0);
		var_Bar->HistogramCumulativeShowLegend = 65535;
		var_Bar->HistogramCumulativeOriginalColorBars = Exg2anttlib_tlb::HistogramCumulativeOriginalColorBarsEnum::exChangeColor;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Column");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project 1"));
	var_Items->AddBar(var_Items->InsertItem(h,TNoParam(),TVariant("Item 1")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->InsertItem(h,TNoParam(),TVariant("Item 2")),TVariant("Task"),TVariant(TDateTime(2001,1,3).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->InsertItem(h,TNoParam(),TVariant("Item 3")),TVariant("Task"),TVariant(TDateTime(2001,1,4).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->InsertItem(h,TNoParam(),TVariant("Item 4")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(var_Items->get_ItemByIndex(1)),TVariant(0),1);
	var_Items->set_ExpandItem(h,true);
G2antt1->EndUpdate();

1381
Is it possible to define the bar colors, and have the cumulative histogram showing the same colors

G2antt1->BeginUpdate();
G2antt1->SelBackColor = G2antt1->BackColor;
G2antt1->SelForeColor = G2antt1->ForeColor;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->HistogramVisible = true;
	var_Chart->HistogramHeight = 64;
	var_Chart->set_PaneWidth(false,128);
	var_Chart->HistogramView = Exg2anttlib_tlb::HistogramViewEnum::exHistogramNoGrouping | Exg2anttlib_tlb::HistogramViewEnum::exHistogramLeafItems | Exg2anttlib_tlb::HistogramViewEnum::exHistogramUnlockedItems | Exg2anttlib_tlb::HistogramViewEnum::exHistogramCheckedItems;
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->Color = RGB(128,128,128);
		var_Bar->HistogramType = Exg2anttlib_tlb::HistogramTypeEnum::exHistCumulative;
		var_Bar->HistogramItems = 6;
		var_Bar->HistogramRulerLinesColor = RGB(128,0,0);
		var_Bar->HistogramBorderColor = RGB(1,0,0);
		var_Bar->HistogramCumulativeColors = 2;
		var_Bar->set_HistogramCumulativeColor(0,RGB(0,0,255));
		var_Bar->set_HistogramCumulativeColor(1,RGB(0,0,255));
		var_Bar->HistogramCumulativeOriginalColorBars = Exg2anttlib_tlb::HistogramCumulativeOriginalColorBarsEnum::exChangeColor;
		var_Bar->HistogramPattern = var_Bar->Pattern;
		var_Bar->HistogramCumulativeShowLegend = 65535;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Column");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project 1"));
	var_Items->AddBar(var_Items->InsertItem(h,TNoParam(),TVariant("Item 1")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->InsertItem(h,TNoParam(),TVariant("Item 2")),TVariant("Task"),TVariant(TDateTime(2001,1,3).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->InsertItem(h,TNoParam(),TVariant("Item 3")),TVariant("Task"),TVariant(TDateTime(2001,1,4).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->InsertItem(h,TNoParam(),TVariant("Item 4")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,8).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(var_Items->get_ItemByIndex(1)),TVariant(0),1);
	var_Items->set_ExpandItem(h,true);
G2antt1->EndUpdate();

1380
Is it possible to show the non-working pattern over the bars

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->NonworkingDaysPattern = Exg2anttlib_tlb::PatternEnum::exPatternBDiagonal;
	var_Chart->NonworkingDaysColor = RGB(0,0,0);
	var_Chart->set_PaneWidth(false,40);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2005,6,20).operator double()));
	var_Chart->HistogramVisible = true;
	var_Chart->HistogramHeight = 64;
	var_Chart->HistogramView = Exg2anttlib_tlb::HistogramViewEnum::exHistogramBackground | Exg2anttlib_tlb::HistogramViewEnum::exHistogramAllItems;
	var_Chart->LevelCount = 2;
	Exg2anttlib_tlb::IBarsPtr var_Bars = var_Chart->Bars;
		Exg2anttlib_tlb::IBarPtr var_Bar = var_Bars->Add(L"Empty");
			var_Bar->Color = RGB(0,0,0);
			var_Bar->Pattern = Exg2anttlib_tlb::PatternEnum::exPatternFDiagonal;
			var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeSolidFrameless;
		Exg2anttlib_tlb::IBarPtr var_Bar1 = var_Bars->Add(L"Task:Empty");
			var_Bar1->Shortcut = L"Task";
			var_Bar1->HistogramItems = -5;
			var_Bar1->HistogramCriticalValue = 3;
			var_Bar1->HistogramType = Exg2anttlib_tlb::HistogramTypeEnum::exHistOverload;
			var_Bar1->HistogramPattern = var_Bar1->Pattern;
			var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<%=%258%> working days bar"));
			var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
			var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKeepWorkingCount,TVariant(true));
	var_Chart->UnitWidthNonworking = -12;
	var_Chart->get_Level(1)->FormatLabel = L"weekday(dvalue) in (0,6) ? `` : value";
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task A")),TVariant("Task"),TVariant(TDateTime(2005,6,23).operator double()),TVariant(TDateTime(2005,6,29).operator double()),TVariant(""),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task B")),TVariant("Task"),TVariant(TDateTime(2005,6,24).operator double()),TVariant(TDateTime(2005,6,28).operator double()),TVariant(""),TNoParam());
G2antt1->EndUpdate();

1379
I'm showing values from a ado recordset from sql 2005. When I try to edit a column with integers, it just skips back to the original numbers after pressing enter..., why
// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->AddBar(Item,TVariant("Task"),TVariant(var_Items->get_CellValue(TVariant(Item),TVariant(2))),TVariant(var_Items->get_CellValue(TVariant(Item),TVariant(4))),TNoParam(),TNoParam());
}

// Error event - Fired when an internal error occurs.
void __fastcall TForm1::G2antt1Error(TObject *Sender,long   Error,BSTR   Description)
{
	OutputDebugString( L"Error" );
	OutputDebugString( L"Description" );
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(1994,8,3).operator double()));
	var_Chart->set_PaneWidth(false,256);
	var_Chart->LevelCount = 2;
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exDay;
	var_Chart->FirstWeekDay = Exg2anttlib_tlb::WeekDayEnum::exMonday;
	var_Chart->OverviewVisible = Exg2anttlib_tlb::OverviewVisibleEnum::exOverviewShowAllVisible;
G2antt1->ColumnAutoResize = false;
G2antt1->ContinueColumnScroll = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADOR.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb"),Adodb_tlb::CursorTypeEnum::adOpenKeyset,Adodb_tlb::LockTypeEnum::adLockReadOnly,0);
G2antt1->DataSource = (IDispatch*)rs;
G2antt1->Items->AllowCellValueToItemBar = true;
G2antt1->Columns->get_Item(TVariant(2))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
G2antt1->Columns->get_Item(TVariant(4))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
G2antt1->EndUpdate();

1378
Is it possible to reduce the non-working parts of the control

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,40);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2005,6,20).operator double()));
	var_Chart->HistogramVisible = true;
	var_Chart->HistogramHeight = 64;
	var_Chart->HistogramView = Exg2anttlib_tlb::HistogramViewEnum::exHistogramAllItems;
	var_Chart->LevelCount = 2;
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->HistogramType = Exg2anttlib_tlb::HistogramTypeEnum::exHistOverAllocation;
		var_Bar->HistogramPattern = var_Bar->Pattern;
	var_Chart->UnitWidthNonworking = -8;
	var_Chart->get_Level(1)->FormatLabel = L"weekday(dvalue) in (0,6) ? `` : value";
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Task A"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2005,6,23).operator double()),TVariant(TDateTime(2005,6,29).operator double()),TVariant(""),TVariant("4 working days bar"));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCanResize,TVariant(false));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarEffort,TVariant(4));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKeepWorkingCount,TVariant(true));
	h = var_Items->AddItem(TVariant("Task B"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2005,6,28).operator double()),TVariant(TDateTime(2005,6,30).operator double()),TVariant(""),TVariant("2 working days bar"));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCanResize,TVariant(false));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarEffort,TVariant(2));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKeepWorkingCount,TVariant(true));
G2antt1->EndUpdate();

1377
I don't want to see the "schedule"/show "workload" in non-working days part of the histogram

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,40);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2005,6,20).operator double()));
	var_Chart->HistogramVisible = true;
	var_Chart->HistogramHeight = 64;
	var_Chart->HistogramView = Exg2anttlib_tlb::HistogramViewEnum::exHistogramAllItems;
	var_Chart->LevelCount = 2;
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->HistogramType = Exg2anttlib_tlb::HistogramTypeEnum::exHistOverAllocation;
		var_Bar->HistogramPattern = var_Bar->Pattern;
	var_Chart->ShowNonworkingDates = false;
	var_Chart->ShowNonworkingUnits = false;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Task A"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2005,6,23).operator double()),TVariant(TDateTime(2005,6,29).operator double()),TVariant(""),TVariant("4 working days bar"));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCanResize,TVariant(false));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarEffort,TVariant(4));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKeepWorkingCount,TVariant(true));
	h = var_Items->AddItem(TVariant("Task B"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2005,6,28).operator double()),TVariant(TDateTime(2005,6,30).operator double()),TVariant(""),TVariant("2 working days bar"));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCanResize,TVariant(false));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarEffort,TVariant(2));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKeepWorkingCount,TVariant(true));
G2antt1->EndUpdate();

1376
The control shows, and handles non-working days PERFECT, but how is it possible to reflect this in the Histogram. I don't want to "schedule"/show "workload" in non-working days...

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,40);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2005,6,20).operator double()));
	var_Chart->HistogramVisible = true;
	var_Chart->HistogramHeight = 64;
	var_Chart->HistogramView = Exg2anttlib_tlb::HistogramViewEnum::exHistogramAllItems;
	var_Chart->LevelCount = 2;
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->HistogramType = Exg2anttlib_tlb::HistogramTypeEnum::exHistOverAllocation;
		var_Bar->HistogramPattern = var_Bar->Pattern;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Task A"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2005,6,23).operator double()),TVariant(TDateTime(2005,6,29).operator double()),TVariant(""),TVariant("4 working days bar"));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCanResize,TVariant(false));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarEffort,TVariant(4));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKeepWorkingCount,TVariant(true));
	h = var_Items->AddItem(TVariant("Task B"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2005,6,28).operator double()),TVariant(TDateTime(2005,6,30).operator double()),TVariant(""),TVariant("2 working days bar"));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCanResize,TVariant(false));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarEffort,TVariant(2));
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKeepWorkingCount,TVariant(true));
G2antt1->EndUpdate();

1375
When I do select the button in the overview-zoom I want the scaling to change accordingly. Can I set different scales per selected zoom level

// OverviewZoom event - Occurs once the user selects a new time scale unit in the overview zoom area.
void __fastcall TForm1::G2antt1OverviewZoom(TObject *Sender)
{
	OutputDebugString( PChar(G2antt1->Chart->UnitScale) );
}

Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,0);
	var_Chart->LevelCount = 2;
	var_Chart->OverviewVisible = Exg2anttlib_tlb::OverviewVisibleEnum::exOverviewShowAllVisible;
	var_Chart->AllowOverviewZoom = Exg2anttlib_tlb::OverviewZoomEnum::exAlwaysZoom;
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exSecond,L"");
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exYear,L"");

1374
How do I display Icons instead of text in the overview zoom area

G2antt1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->OverviewVisible = Exg2anttlib_tlb::OverviewVisibleEnum::exOverviewShowAllVisible;
	var_Chart->AllowOverviewZoom = Exg2anttlib_tlb::OverviewZoomEnum::exAlwaysZoom;
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exSecond,L"");
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exYear,L"");
	OutputDebugString( var_Chart->OverviewZoomCaption );
	var_Chart->OverviewZoomCaption = L"Year|½Year|¼Year|Month|Third|<img>1</img>|Day|Hour|Min|Sec";

1373
How do I get it to only display Min, Hour, Day, Week , Month, ie remove Sec and Year in the overview area
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->OverviewVisible = Exg2anttlib_tlb::OverviewVisibleEnum::exOverviewShowAllVisible;
	var_Chart->AllowOverviewZoom = Exg2anttlib_tlb::OverviewZoomEnum::exAlwaysZoom;
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exSecond,L"");
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exYear,L"");

1372
Is it possible to show quarter hours markers

G2antt1->BeginUpdate();
G2antt1->GridLineColor = RGB(0,0,0);
G2antt1->VisualAppearance->Add(3,TVariant(String("gBFLBCJwBAEHhEJAEGg4BdMIQAAYAQGKIYBkAKBQAGaAoDDUNw5QwAAwjSKkEwsACEIrjKCRShyCYZRhGcTAFBMIhkGoSZKlCIRVDCKYJDbKACSFKkNQ7AabZBgOQJV") +
"gOKovThKcIybQAASJCKRY7nUIIJA+SoDSRAbqhYIgASnKqLJAkACIJJAaRjHQdJxGKKMQANBghCZseKhWgkKIJUxAdLTWAAMQuaCoZ5icRAca2fJ+XzfeBYDgmAYNQbD" +
"cJhHCMMwXDaJZBiGJ4dimI4rR7JIDzDJ8cxbEKTZ5meg5boGRZNTrMQA0fQ9MynK6vahfOi7DpuaZnWrcMb2fYNZwrGq0bxoW58BwmP5/XrkNa4XgcVgmAUBA"));
G2antt1->HeaderHeight = 20;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->set_PaneWidth(false,0);
	var_Chart->LevelCount = 2;
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exHour;
	Exg2anttlib_tlb::ILevelPtr var_Level = var_Chart->get_Level(0);
		var_Level->Alignment = Exg2anttlib_tlb::AlignmentEnum::exHOutside;
		var_Level->set_Label(TVariant("<%dddd%>, <%mmmm%> <b><%d%></b>, <%yyyy%>"));
		var_Level->DrawTickLines = Exg2anttlib_tlb::LevelLineEnum::exLevelSolidLine;
	Exg2anttlib_tlb::ILevelPtr var_Level1 = var_Chart->get_Level(1);
		var_Level1->set_Label(TVariant("<%hh%>:00"));
		var_Level1->BackColor = 0x3000000;
		var_Level1->DrawTickLines = Exg2anttlib_tlb::LevelLineEnum::exLevelSolidLine;
	var_Chart->DrawLevelSeparator = Exg2anttlib_tlb::LevelLineEnum::exLevelSolidLine;
	var_Chart->UnitWidth = 64;
	var_Chart->ResizeUnitScale = Exg2anttlib_tlb::UnitEnum::exMinute;
	var_Chart->ResizeUnitCount = 15;
G2antt1->EndUpdate();

1371
How can I ensure or always show the labels on the chart part, when scrolling the chart to left or right
G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->set_PaneWidth(false,0);
	var_Chart->LevelCount = 2;
	var_Chart->UnitWidth = 48;
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exHour;
	Exg2anttlib_tlb::ILevelPtr var_Level = var_Chart->get_Level(0);
		var_Level->Alignment = Exg2anttlib_tlb::AlignmentEnum::exHOutside | Exg2anttlib_tlb::AlignmentEnum::CenterAlignment;
		var_Level->set_Label(TVariant("<%dddd%>, <%mmmm%> <b><%d%></b>, <%yyyy%>"));
	var_Chart->get_Level(1)->set_Label(TVariant("<%hh%>:00"));
G2antt1->EndUpdate();

1370
I associate the Start and End columns with bars, but some of them are not shown. What am I doing wrong
G2antt1->BeginUpdate();
G2antt1->MarkSearchColumn = false;
G2antt1->Items->AllowCellValueToItemBar = true;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2000,12,25).operator double()));
	var_Chart->set_PaneWidth(false,128);
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Start");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarKey,TVariant("K1"));
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"End");
	var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
	var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarKey,TVariant("K1"));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TNoParam()),TVariant("Task"),TVariant(TDateTime(2001,1,1).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TNoParam()),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TNoParam()),TVariant("Task"),TVariant(TDateTime(2001,1,3).operator double()),TVariant(TDateTime(2001,1,7).operator double()),TVariant("????"),TVariant("????"));
G2antt1->EndUpdate();

1369
How can I implement OLE Drag and Drop operation
// OLEStartDrag event - Occurs when the OLEDrag method is called.
void __fastcall TForm1::G2antt1OLEStartDrag(TObject *Sender,Exg2anttlib_tlb::IExDataObject   *Data,long *   AllowedEffects)
{
	// Data.SetData("your data to drag")
	AllowedEffects = 2;
}

G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->Columns->Add(L"Default");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item 1"));
	var_Items->AddItem(TVariant("Item 2"));
	var_Items->AddItem(TVariant("Item 3"));
	var_Items->AddItem(TVariant("Item 4"));
	var_Items->AddItem(TVariant("Item 5"));
G2antt1->OLEDropMode = Exg2anttlib_tlb::exOLEDropModeEnum::exOLEDropManual;
G2antt1->EndUpdate();

1368
I can not associate the bar's start and end properties with my start/end columns, only if the bar's key is empty or null. What can I do

// ButtonClick event - Occurs when user clicks on the cell's button.
void __fastcall TForm1::G2antt1ButtonClick(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex,Variant   Key)
{
	G2antt1->BeginUpdate();
	Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
		var_Columns->get_Item(TVariant("Tasks"))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarKey,TVariant("B"));
		var_Columns->get_Item(TVariant("Start"))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarKey,TVariant("B"));
		var_Columns->get_Item(TVariant("End"))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarKey,TVariant("B"));
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->set_CellValue(TVariant(Item),TVariant(1),TVariant("B"));
		var_Items->set_ItemBar(0,TVariant("B"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarColor,TVariant(0));
		var_Items->set_ItemBar(0,TVariant("A"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarColor,TVariant(16775408));
	G2antt1->EndUpdate();
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Tasks");
		var_Column->Width = 32;
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(3));
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarKey,TVariant("A"));
	Exg2anttlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Start");
		var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
		var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarKey,TVariant("A"));
		var_Column1->Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::DateType;
	Exg2anttlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"End");
		var_Column2->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
		var_Column2->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarKey,TVariant("A"));
		var_Column2->Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::DateType;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2006,9,20).operator double()));
	var_Chart->AllowLinkBars = true;
	var_Chart->AllowCreateBar = Exg2anttlib_tlb::CreateBarEnum::exNoCreateBar;
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,196);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->Pattern = Exg2anttlib_tlb::PatternEnum::exPatternBDiagonal;
		var_Bar->OverlaidType = Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsStackAutoArrange | Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsStack;
		var_Bar->set_Overlaid(Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsTransparent,TVariant(80));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_LockedItemCount(Exg2anttlib_tlb::VAlignmentEnum::exTop,1);
	long h = var_Items->get_LockedItem(Exg2anttlib_tlb::VAlignmentEnum::exTop,0);
	var_Items->set_CellValue(TVariant(h),TVariant(0),TVariant("Select"));
	var_Items->set_CellHasButton(TVariant(h),TVariant(0),true);
	var_Items->set_CellMerge(TVariant(h),TVariant(1),TVariant(2));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("A"));
	var_Items->get_CellEditor(TVariant(h),TVariant(1))->EditType = Exg2anttlib_tlb::EditTypeEnum::EditType;
Exg2anttlib_tlb::IItemsPtr var_Items1 = G2antt1->Items;
	var_Items1->AllowCellValueToItemBar = true;
	h = var_Items1->AddItem(TVariant("Task 1"));
	var_Items1->AddBar(h,TVariant("Task"),TVariant(TDateTime(2006,9,21).operator double()),TVariant(TDateTime(2006,9,24).operator double()),TVariant("A"),TVariant("A"));
	var_Items1->AddBar(h,TVariant("Task"),TVariant(TDateTime(2006,9,25).operator double()),TVariant(TDateTime(2006,9,28).operator double()),TVariant("B"),TVariant("B"));
	var_Items1->set_ItemBar(h,TVariant("B"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarColor,TVariant(16775408));
	h = var_Items1->AddItem(TVariant("Task 2"));
	var_Items1->AddBar(h,TVariant("Task"),TVariant(TDateTime(2006,9,22).operator double()),TVariant(TDateTime(2006,9,25).operator double()),TVariant("A"),TVariant("A"));
	var_Items1->AddBar(h,TVariant("Task"),TVariant(TDateTime(2006,9,26).operator double()),TVariant(TDateTime(2006,9,29).operator double()),TVariant("B"),TVariant("B"));
	var_Items1->set_ItemBar(h,TVariant("B"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarColor,TVariant(16775408));
G2antt1->EndUpdate();

1367
How can I determine the order of the events
// AddLink event - Occurs when the user links two bars using the mouse.
void __fastcall TForm1::G2antt1AddLink(TObject *Sender,BSTR   LinkKey)
{
	OutputDebugString( L"AddLink" );
	OutputDebugString( L"LinkKey" );
}

// AfterExpandItem event - Fired after an item is expanded (collapsed).
void __fastcall TForm1::G2antt1AfterExpandItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	OutputDebugString( L"AfterExpandItem" );
	OutputDebugString( L"Item" );
}

// AllowLink event - Notifies at runtime when a link between two bars is possible.
void __fastcall TForm1::G2antt1AllowLink(TObject *Sender,Exg2anttlib_tlb::HITEM   StartItem,Variant   StartBarKey,Exg2anttlib_tlb::HITEM   EndItem,Variant   EndBarKey,Variant *   LinkKey,VARIANT_BOOL *   Cancel)
{
	OutputDebugString( L"AllowLink" );
	OutputDebugString( L"StartItem" );
	OutputDebugString( L"StartBarKey" );
	OutputDebugString( L"EndItem" );
	OutputDebugString( L"EndBarKey" );
	OutputDebugString( L"LinkKey" );
}

// AnchorClick event - Occurs when an anchor element is clicked.
void __fastcall TForm1::G2antt1AnchorClick(TObject *Sender,BSTR   AnchorID,BSTR   Options)
{
	OutputDebugString( L"AnchorClick" );
	OutputDebugString( L"AnchorID" );
	OutputDebugString( L"Options" );
}

// BarParentChange event - Occurs just before moving a bar from current item to another item.
void __fastcall TForm1::G2antt1BarParentChange(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,Variant   Key,Exg2anttlib_tlb::HITEM   NewItem,VARIANT_BOOL *   Cancel)
{
	OutputDebugString( L"BarParentChange" );
	OutputDebugString( L"Item" );
	OutputDebugString( L"Key" );
	OutputDebugString( L"NewItem" );
}

// BarResize event - Occurs when a bar is moved or resized.
void __fastcall TForm1::G2antt1BarResize(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,Variant   Key)
{
	OutputDebugString( L"BarResize" );
	OutputDebugString( L"Item" );
	OutputDebugString( L"Key" );
}

// BarResizing event - Occurs when a bar is moving or resizing.
void __fastcall TForm1::G2antt1BarResizing(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,Variant   Key)
{
	OutputDebugString( L"BarResizing" );
	OutputDebugString( L"Item" );
	OutputDebugString( L"Key" );
}

// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
void __fastcall TForm1::G2antt1BeforeExpandItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,Variant *   Cancel)
{
	OutputDebugString( L"BeforeExpandItem" );
	OutputDebugString( L"Item" );
}

// ButtonClick event - Occurs when user clicks on the cell's button.
void __fastcall TForm1::G2antt1ButtonClick(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex,Variant   Key)
{
	OutputDebugString( L"ButtonClick" );
	OutputDebugString( L"Item" );
	OutputDebugString( L"ColIndex" );
	OutputDebugString( L"Key" );
}

// CellImageClick event - Fired after the user clicks on the image's cell area.
void __fastcall TForm1::G2antt1CellImageClick(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex)
{
	OutputDebugString( L"CellImageClick" );
	OutputDebugString( L"Item" );
	OutputDebugString( L"ColIndex" );
}

// CellStateChanged event - Fired after cell's state has been changed.
void __fastcall TForm1::G2antt1CellStateChanged(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex)
{
	OutputDebugString( L"CellStateChanged" );
	OutputDebugString( L"Item" );
	OutputDebugString( L"ColIndex" );
}

// Change event - Occurs when the user changes the cell's content.
void __fastcall TForm1::G2antt1Change(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex,Variant *   NewValue)
{
	OutputDebugString( L"Change" );
	OutputDebugString( L"Item" );
	OutputDebugString( L"ColIndex" );
	OutputDebugString( L"NewValue" );
}

// ChartEndChanging event - Occurs after the chart has been changed.
void __fastcall TForm1::G2antt1ChartEndChanging(TObject *Sender,Exg2anttlib_tlb::BarOperationEnum   Operation)
{
	OutputDebugString( L"ChartEndChanging" );
	OutputDebugString( L"Operation" );
}

// ChartSelectionChanged event - Occurs when the user selects objects in the chart area.
void __fastcall TForm1::G2antt1ChartSelectionChanged(TObject *Sender)
{
	OutputDebugString( L"ChartSelectionChanged" );
}

// ChartStartChanging event - Occurs when the chart is about to be changed.
void __fastcall TForm1::G2antt1ChartStartChanging(TObject *Sender,Exg2anttlib_tlb::BarOperationEnum   Operation)
{
	OutputDebugString( L"ChartStartChanging" );
	OutputDebugString( L"Operation" );
}

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void __fastcall TForm1::G2antt1Click(TObject *Sender)
{
	OutputDebugString( L"Click" );
}

// ColumnClick event - Fired after the user clicks on column's header.
void __fastcall TForm1::G2antt1ColumnClick(TObject *Sender,Exg2anttlib_tlb::IColumn   *Column)
{
	OutputDebugString( L"ColumnClick" );
}

// CreateBar event - Fired when the user creates a new bar.
void __fastcall TForm1::G2antt1CreateBar(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,DATE   DateStart,DATE   DateEnd)
{
	OutputDebugString( L"CreateBar" );
	OutputDebugString( L"Item" );
	OutputDebugString( L"DateStart" );
	OutputDebugString( L"DateEnd" );
}

// DateChange event - Occurs when the first visible date is changed.
void __fastcall TForm1::G2antt1DateChange(TObject *Sender)
{
	OutputDebugString( L"DateChange" );
}

// DblClick event - Occurs when the user dblclk the left mouse button over an object.
void __fastcall TForm1::G2antt1DblClick(TObject *Sender,short   Shift,int   X,int   Y)
{
	OutputDebugString( L"DblClick" );
	OutputDebugString( L"Shift" );
	OutputDebugString( L"X" );
	OutputDebugString( L"Y" );
	G2antt1->Edit(TNoParam());
}

// Edit event - Occurs just before editing the focused cell.
void __fastcall TForm1::G2antt1Edit(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex,VARIANT_BOOL *   Cancel)
{
	OutputDebugString( L"Edit" );
	OutputDebugString( L"Item" );
	OutputDebugString( L"ColIndex" );
}

// EditClose event - Occurs when the edit operation ends.
void __fastcall TForm1::G2antt1EditClose(TObject *Sender)
{
	OutputDebugString( L"EditClose" );
}

// EditOpen event - Occurs when the edit operation starts.
void __fastcall TForm1::G2antt1EditOpen(TObject *Sender)
{
	OutputDebugString( L"EditOpen" );
}

// FilterChange event - Occurs when the filter was changed.
void __fastcall TForm1::G2antt1FilterChange(TObject *Sender)
{
	OutputDebugString( L"FilterChange" );
}

// FilterChanging event - Notifies your application that the filter is about to change.
void __fastcall TForm1::G2antt1FilterChanging(TObject *Sender)
{
	OutputDebugString( L"FilterChanging" );
}

// FocusChanged event - Occurs when a cell gets the focus.
void __fastcall TForm1::G2antt1FocusChanged(TObject *Sender)
{
	OutputDebugString( L"FocusChanged" );
}

// InsideZoom event - Notifies your application that a date is about to be magnified.
void __fastcall TForm1::G2antt1InsideZoom(TObject *Sender,DATE   DateTime)
{
	OutputDebugString( L"InsideZoom" );
	OutputDebugString( L"DateTime" );
}

// KeyDown event - Occurs when the user presses a key while an object has the focus.
void __fastcall TForm1::G2antt1KeyDown(TObject *Sender,short *   KeyCode,short   Shift)
{
	OutputDebugString( L"KeyDown" );
	OutputDebugString( L"KeyCode" );
	OutputDebugString( L"Shift" );
}

// KeyPress event - Occurs when the user presses and releases an ANSI key.
void __fastcall TForm1::G2antt1KeyPress(TObject *Sender,short *   KeyAscii)
{
	OutputDebugString( L"KeyPress" );
	OutputDebugString( L"KeyAscii" );
}

// KeyUp event - Occurs when the user releases a key while an object has the focus.
void __fastcall TForm1::G2antt1KeyUp(TObject *Sender,short *   KeyCode,short   Shift)
{
	OutputDebugString( L"KeyUp" );
	OutputDebugString( L"KeyCode" );
	OutputDebugString( L"Shift" );
}

// LayoutChanged event - Occurs when column's position or column's size is changed.
void __fastcall TForm1::G2antt1LayoutChanged(TObject *Sender)
{
	OutputDebugString( L"LayoutChanged" );
}

// MouseDown event - Occurs when the user presses a mouse button.
void __fastcall TForm1::G2antt1MouseDown(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
	OutputDebugString( L"MouseDown" );
	OutputDebugString( L"Button" );
	OutputDebugString( L"Shift" );
	OutputDebugString( L"X" );
	OutputDebugString( L"Y" );
}

// MouseMove event - Occurs when the user moves the mouse.
void __fastcall TForm1::G2antt1MouseMove(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
}

// MouseUp event - Occurs when the user releases a mouse button.
void __fastcall TForm1::G2antt1MouseUp(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
	OutputDebugString( L"MouseUp" );
	OutputDebugString( L"Button" );
	OutputDebugString( L"Shift" );
	OutputDebugString( L"X" );
	OutputDebugString( L"Y" );
}

// OffsetChanged event - Occurs when the scroll position has been changed.
void __fastcall TForm1::G2antt1OffsetChanged(TObject *Sender,VARIANT_BOOL   Horizontal,long   NewVal)
{
	OutputDebugString( L"OffsetChanged" );
	OutputDebugString( L"Horizontal" );
	OutputDebugString( L"NewVal" );
}

// OversizeChanged event - Occurs when the right range of the scroll has been changed.
void __fastcall TForm1::G2antt1OversizeChanged(TObject *Sender,VARIANT_BOOL   Horizontal,long   NewVal)
{
	OutputDebugString( L"OversizeChanged" );
	OutputDebugString( L"Horizontal" );
	OutputDebugString( L"NewVal" );
}

// OverviewZoom event - Occurs once the user selects a new time scale unit in the overview zoom area.
void __fastcall TForm1::G2antt1OverviewZoom(TObject *Sender)
{
	OutputDebugString( L"OverviewZoom" );
}

// RClick event - Fired when right mouse button is clicked
void __fastcall TForm1::G2antt1RClick(TObject *Sender)
{
	OutputDebugString( L"RClick" );
}

// ScrollButtonClick event - Occurs when the user clicks a button in the scrollbar.
void __fastcall TForm1::G2antt1ScrollButtonClick(TObject *Sender,Exg2anttlib_tlb::ScrollBarEnum   ScrollBar,Exg2anttlib_tlb::ScrollPartEnum   ScrollPart)
{
	OutputDebugString( L"ScrollButtonClick" );
	OutputDebugString( L"ScrollBar" );
	OutputDebugString( L"ScrollPart" );
}

// SelectionChanged event - Fired after a new item has been selected.
void __fastcall TForm1::G2antt1SelectionChanged(TObject *Sender)
{
	OutputDebugString( L"SelectionChanged" );
}

// Sort event - Fired when the control sorts a column.
void __fastcall TForm1::G2antt1Sort(TObject *Sender)
{
	OutputDebugString( L"Sort" );
}

G2antt1->BeginUpdate();
G2antt1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exAllLines;
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->GridLineStyle = Exg2anttlib_tlb::GridLinesStyleEnum::exGridLinesHDash;
G2antt1->AutoEdit = false;
G2antt1->ExpandOnDblClick = false;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->AllowInsideZoom = true;
	var_Chart->OverviewVisible = Exg2anttlib_tlb::OverviewVisibleEnum::exOverviewShowAllVisible;
	var_Chart->AllowOverviewZoom = Exg2anttlib_tlb::OverviewZoomEnum::exAlwaysZoom;
	var_Chart->set_PaneWidth(false,128);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exAllLines;
	var_Chart->GridLineStyle = Exg2anttlib_tlb::GridLinesStyleEnum::exGridLinesVSolid | Exg2anttlib_tlb::GridLinesStyleEnum::exGridLinesHDash;
	var_Chart->LevelCount = 2;
	var_Chart->get_Level(0)->DrawGridLines = true;
	var_Chart->Bars->get_Item(TVariant("Task"))->Pattern = Exg2anttlib_tlb::PatternEnum::exPatternSolid;
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exDay;
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exSecond,L"");
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exMinute,L"");
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exHour,L"");
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Column");
		var_Column->DisplayFilterButton = true;
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column->Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::EditType;
	Exg2anttlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Button");
		var_Column1->AllowSizing = false;
		var_Column1->Width = 18;
		var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasButton,TVariant(true));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("parent"));
	var_Items->set_CellImage(TVariant(h),TVariant(0),1);
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TVariant("A"),TVariant("<a>A</a>"));
	var_Items->set_ItemBar(h,TVariant("A"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	var_Items->set_ItemBar(h,TVariant("A"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCanMoveToAnother,TVariant(true));
	var_Items->set_ItemBar(h,TVariant("A"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarToolTip,TVariant("This is a bit of text that should be shown when cursor hovers the bar"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,8).operator double()),TVariant(TDateTime(2001,1,15).operator double()),TVariant("B"),TVariant("<a>B</a>"));
	var_Items->set_ItemBar(h,TVariant("B"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	var_Items->set_ItemBar(h,TVariant("B"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCanMoveToAnother,TVariant(true));
	var_Items->InsertItem(h,TVariant(""),TVariant("child"));
	var_Items->set_ExpandItem(h,true);
G2antt1->EndUpdate();

1366
How can I change the chart's horizontal grid lines
G2antt1->BeginUpdate();
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exAllLines;
G2antt1->GridLineStyle = Exg2anttlib_tlb::GridLinesStyleEnum::exGridLinesHDash;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,48);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exAllLines;
	var_Chart->GridLineStyle = Exg2anttlib_tlb::GridLinesStyleEnum::exGridLinesVSolid | Exg2anttlib_tlb::GridLinesStyleEnum::exGridLinesHDash;
	var_Chart->LevelCount = 2;
	var_Chart->get_Level(0)->DrawGridLines = true;
	var_Chart->Bars->get_Item(TVariant("Task"))->Pattern = Exg2anttlib_tlb::PatternEnum::exPatternSolid;
G2antt1->Columns->Add(L"Column");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Item 1"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TVariant("A"),TNoParam());
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,8).operator double()),TVariant(TDateTime(2001,1,15).operator double()),TVariant("B"),TNoParam());
G2antt1->EndUpdate();

1365
Is there any way to determine whether the ADO operations fails
// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->AddBar(Item,TVariant("Task"),TVariant(var_Items->get_CellValue(TVariant(Item),TVariant(2))),TVariant(var_Items->get_CellValue(TVariant(Item),TVariant(4))),TNoParam(),TNoParam());
}

// Error event - Fired when an internal error occurs.
void __fastcall TForm1::G2antt1Error(TObject *Sender,long   Error,BSTR   Description)
{
	OutputDebugString( L"Error" );
	OutputDebugString( L"Description" );
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(1994,8,3).operator double()));
	var_Chart->set_PaneWidth(false,256);
	var_Chart->LevelCount = 2;
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exDay;
	var_Chart->FirstWeekDay = Exg2anttlib_tlb::WeekDayEnum::exMonday;
	var_Chart->OverviewVisible = Exg2anttlib_tlb::OverviewVisibleEnum::exOverviewShowAllVisible;
G2antt1->ColumnAutoResize = false;
G2antt1->ContinueColumnScroll = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADOR.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb"),Adodb_tlb::CursorTypeEnum::adOpenKeyset,Adodb_tlb::LockTypeEnum::adLockReadOnly,0);
G2antt1->DataSource = (IDispatch*)rs;
G2antt1->Items->AllowCellValueToItemBar = true;
G2antt1->Columns->get_Item(TVariant(2))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
G2antt1->Columns->get_Item(TVariant(4))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
G2antt1->EndUpdate();

1364
Is it possible to select a column instead sorting it
// ColumnClick event - Fired after the user clicks on column's header.
void __fastcall TForm1::G2antt1ColumnClick(TObject *Sender,Exg2anttlib_tlb::IColumn   *Column)
{
	// Column.Selected = True
	G2antt1->BeginUpdate();
	G2antt1->Columns->get_Item(TVariant(0))->Selected = false;
	G2antt1->Columns->get_Item(TVariant(1))->Selected = false;
	G2antt1->Items->SelectAll();
	G2antt1->EndUpdate();
}

G2antt1->BeginUpdate();
G2antt1->MarkSearchColumn = false;
G2antt1->ShowFocusRect = false;
G2antt1->SingleSel = false;
G2antt1->FullRowSelect = Exg2anttlib_tlb::CellSelectEnum::exRectSel;
G2antt1->SortOnClick = Exg2anttlib_tlb::SortOnClickEnum::exNoSort;
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"Column1");
	var_Columns->Add(L"Column2");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("One"))),TVariant(1),TVariant("Three"));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Two"))),TVariant(1),TVariant("Four"));
	var_Items->SelectAll();
G2antt1->EndUpdate();

1363
I am using the exRectSel, and clicking the first column, has no effect, instead if I click other it works as it should
G2antt1->BeginUpdate();
G2antt1->SearchColumnIndex = -1;
G2antt1->FullRowSelect = Exg2anttlib_tlb::CellSelectEnum::exRectSel;
G2antt1->ShowFocusRect = false;
G2antt1->MarkSearchColumn = false;
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"Column1");
	var_Columns->Add(L"Column2");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(1))),TVariant(1),TVariant(2));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(3))),TVariant(1),TVariant(4));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(5))),TVariant(1),TVariant(6));
G2antt1->EndUpdate();

1362
Is it possible to display empty strings for 0 values
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Currency");
	var_Column->FormatColumn = L"dbl(value) ? currency(dbl(value)) : ``";
	Exg2anttlib_tlb::IEditorPtr var_Editor = var_Column->Editor;
		var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::EditType;
		var_Editor->Numeric = Exg2anttlib_tlb::NumericEnum::exFloat;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant(1.23));
	var_Items->AddItem(TVariant(2.34));
	var_Items->AddItem(TVariant(0));
	var_Items->AddItem(TVariant(10000.99));

1361
Is it possible to display empty strings for 0 values
G2antt1->Columns->Add(L"Number");
G2antt1->Columns->Add(L"Currency")->ComputedField = L"%0 ? currency(%0) : ``";
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant(1.23));
	var_Items->AddItem(TVariant(2.34));
	var_Items->AddItem(TVariant(0));
	var_Items->AddItem(TVariant(10000.99));

1360
How can I hide a date from the chart view, when I display hours instead days

G2antt1->BeginUpdate();
G2antt1->HeaderHeight = 32;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2011,6,8).operator double()));
	var_Chart->AdjustLevelsToBase = true;
	var_Chart->set_PaneWidth(false,0);
	var_Chart->LevelCount = 2;
	var_Chart->AllowInsideZoom = true;
	Exg2anttlib_tlb::ILevelPtr var_Level = var_Chart->get_Level(0);
		var_Level->Alignment = Exg2anttlib_tlb::AlignmentEnum::CenterAlignment;
		var_Level->set_Label(TVariant("<b><%d%>-<%mmm%>-<%yyyy%>"));
		var_Level->Unit = Exg2anttlib_tlb::UnitEnum::exDay;
	Exg2anttlib_tlb::ILevelPtr var_Level1 = var_Chart->get_Level(1);
		var_Level1->set_Label(TVariant("<%h%>"));
		var_Level1->Count = 8;
		var_Level1->Unit = Exg2anttlib_tlb::UnitEnum::exHour;
		var_Level1->FormatLabel = TVariant(String("date(int(dvalue)) case (#06/08/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>23/20'; 8 : 'Shift <b>2</b><br>38/30' ; 16 : '") +
"Shift <b>3</b><br>24/24' ) ) ; #06/09/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>15/20'; 8 : 'Shift <b>2</b><br>30/32' ; " +
"16 : 'Shift <b>3</b><br>26/24' ) ) )");
	var_Chart->UnitWidth = 64;
	var_Chart->NonworkingDays = 0;
	var_Chart->AllowInsideZoom = true;
	var_Chart->DefaultInsideZoomFormat->InsideUnit = Exg2anttlib_tlb::UnitEnum::exMinute;
	var_Chart->AllowResizeInsideZoom = false;
	var_Chart->InsideZoomOnDblClick = false;
	Exg2anttlib_tlb::IInsideZoomsPtr var_InsideZooms = var_Chart->InsideZooms;
		var_InsideZooms->SplitBaseLevel = false;
		var_InsideZooms->DefaultWidth = 0;
	Exg2anttlib_tlb::IInsideZoomsPtr var_InsideZooms1 = var_Chart->InsideZooms;
		var_InsideZooms1->Add(TVariant(TDateTime(2011,6,9,8,00,00,0).operator double()));
		var_InsideZooms1->Add(TVariant(TDateTime(2011,6,9,16,00,00,0).operator double()));
G2antt1->EndUpdate();

1359
I’ve created a skin (EBN) for the bars of my chart, with rounded top corners. The problem, is that these rounded corners are applied also at beginning and the end of the non working units. Is it possible to show a different picture/skin for the non-working part of the bars

G2antt1->BeginUpdate();
G2antt1->VisualAppearance->Add(1,TVariant("c:\\exontrol\\images\\normal.ebn"));
G2antt1->VisualAppearance->Add(2,TVariant("c:\\exontrol\\images\\pushed.ebn"));
G2antt1->Columns->Add(L"Task");
G2antt1->Chart->set_PaneWidth(false,128);
Exg2anttlib_tlb::IBarsPtr var_Bars = G2antt1->Chart->Bars;
	var_Bars->get_Item(TVariant("Task"))->Color = 0x1000000;
	var_Bars->get_Item(TVariant("Split"))->Color = 0x2000000;
	var_Bars->Add(L"Task:Split")->Shortcut = L"TS";
G2antt1->Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task")),TVariant("TS"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,16).operator double()),TNoParam(),TNoParam());
G2antt1->EndUpdate();

1358
How do I display the names of the tasks on bars but not in the middle of the bar (left or right)

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2000,12,27).operator double()));
	var_Chart->set_PaneWidth(false,128);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->Pattern = Exg2anttlib_tlb::PatternEnum::exPatternDot;
		var_Bar->Height = 15;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Task 1"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,3).operator double()),TVariant(TDateTime(2001,1,8).operator double()),TVariant("K1"),TVariant("<b>to do</b> "));
	var_Items->set_ItemBar(h,TVariant("K1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(2));
	h = var_Items->AddItem(TVariant("Task 2"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,3).operator double()),TVariant(TDateTime(2001,1,8).operator double()),TVariant("K2"),TVariant("<b>to do</b>"));
	var_Items->set_ItemBar(h,TVariant("K2"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	h = var_Items->AddItem(TVariant("Task 3"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,3).operator double()),TVariant(TDateTime(2001,1,8).operator double()),TVariant("K1"),TVariant(" <b>to do</b>"));
	var_Items->set_ItemBar(h,TVariant("K1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(0));
	h = var_Items->AddItem(TVariant("Task 4"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,3).operator double()),TVariant(TDateTime(2001,1,8).operator double()),TVariant("K2"),TVariant("<b>to do</b>"));
	var_Items->set_ItemBar(h,TVariant("K2"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(16));
G2antt1->EndUpdate();

1357
How can I get the list of items as they are displayed
G2antt1->BeginUpdate();
G2antt1->BackColorAlternate = RGB(240,240,240);
G2antt1->Columns->Add(L"Names");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Mantel"));
	var_Items->AddItem(TVariant("Mechanik"));
	var_Items->AddItem(TVariant("Motor"));
	var_Items->AddItem(TVariant("Murks"));
	var_Items->AddItem(TVariant("Märchen"));
	var_Items->AddItem(TVariant("Möhren"));
	var_Items->AddItem(TVariant("Mühle"));
G2antt1->Columns->get_Item(TVariant(0))->SortOrder = Exg2anttlib_tlb::SortOrderEnum::SortAscending;
G2antt1->EndUpdate();
OutputDebugString( PChar(G2antt1->GetItems(TVariant(1))) );

1356
How can I disable the left and right arrows to move to next cell while editing
Exg2anttlib_tlb::IEditorPtr var_Editor = G2antt1->Columns->Add(L"Edit")->Editor;
	var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::EditType;
	var_Editor->set_Option(Exg2anttlib_tlb::EditorOptionEnum::exLeftArrow,TVariant(0));
	var_Editor->set_Option(Exg2anttlib_tlb::EditorOptionEnum::exRightArrow,TVariant(0));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Cell 1"));
	var_Items->AddItem(TVariant("Cell 2"));
	var_Items->AddItem(TVariant("Cell 3"));

1355
Is it possible to define a bar that is treated as a non-working hour so user can move it at runtime

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,48);
	var_Chart->AllowNonworkingBars = true;
	var_Chart->Bars->Add(L"Task:Split")->Shortcut = L"Task";
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exHour;
	var_Chart->get_Level(1)->set_Label(TVariant("<font ;4><%hh%>"));
	var_Chart->UnitWidth = 12;
	var_Chart->NonworkingDaysPattern = Exg2anttlib_tlb::PatternEnum::exPatternBDiagonal;
	var_Chart->NonworkingDays = 0;
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Machine"));
	var_Items->set_ItemNonworkingUnits(h,TVariant(false),L"0");
	var_Items->AddBar(h,TVariant(""),TVariant(TDateTime(2001,1,1,9,00,00,0).operator double()),TVariant(TDateTime(2001,1,1,11,00,00,0).operator double()),TVariant("A"),TVariant("pause"));
	var_Items->set_ItemBar(h,TVariant("A"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarTreatAsNonworking,TVariant(true));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,1,12,00,00,0).operator double()),TVariant(TDateTime(2001,1,1,17,00,00,0).operator double()),TVariant("Z"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("Z"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKeepWorkingCount,TVariant(true));
G2antt1->EndUpdate();

1354
Is it possible to customize the chart's header so I can display shift and other values

G2antt1->BeginUpdate();
G2antt1->HeaderHeight = 32;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2011,6,8).operator double()));
	var_Chart->AdjustLevelsToBase = true;
	var_Chart->set_PaneWidth(false,0);
	var_Chart->LevelCount = 2;
	Exg2anttlib_tlb::ILevelPtr var_Level = var_Chart->get_Level(0);
		var_Level->Alignment = Exg2anttlib_tlb::AlignmentEnum::CenterAlignment;
		var_Level->set_Label(TVariant("<b><%d%> - <%mmmm%> - <%yyyy%>"));
		var_Level->Unit = Exg2anttlib_tlb::UnitEnum::exDay;
	Exg2anttlib_tlb::ILevelPtr var_Level1 = var_Chart->get_Level(1);
		var_Level1->set_Label(TVariant("<%h%>"));
		var_Level1->Count = 8;
		var_Level1->Unit = Exg2anttlib_tlb::UnitEnum::exHour;
		var_Level1->FormatLabel = TVariant(String("date(int(dvalue)) case (#06/08/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>23/20'; 8 : 'Shift <b>2</b><br>38/30' ; 16 : '") +
"Shift <b>3</b><br>24/24' ) ) ; #06/09/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>15/20'; 8 : 'Shift <b>2</b><br>30/32' ; " +
"16 : 'Shift <b>3</b><br>26/24' ) ) )");
	var_Chart->UnitWidth = 64;
	var_Chart->NonworkingDays = 0;
G2antt1->EndUpdate();

1353
How can I change both start and end dates of the bar
G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,64);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2005,6,19).operator double()));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Test"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2005,6,22).operator double()),TVariant(TDateTime(2005,6,27).operator double()),TVariant("t1"),TNoParam());
	var_Items->AddBar(h,TVariant(var_Items->get_ItemBar(h,TVariant("t1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarName)),TVariant(TDateTime(2005,6,21).operator double()),TVariant(TDateTime(2005,6,22).operator double()),TVariant("t1"),TNoParam());
G2antt1->EndUpdate();

1352
Is it possible to add new rows, as I type like in Excel
// EditClose event - Occurs when the edit operation ends.
void __fastcall TForm1::G2antt1EditClose(TObject *Sender)
{
	G2antt1->Items->AddItem(TVariant(""));
}

G2antt1->BeginUpdate();
G2antt1->AutoEdit = true;
G2antt1->Columns->Add(L"Default")->Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::EditType;
G2antt1->FullRowSelect = Exg2anttlib_tlb::CellSelectEnum::exColumnSel;
G2antt1->Items->AddItem(TVariant(""));
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exAllLines;
G2antt1->ScrollBars = Exg2anttlib_tlb::ScrollBarsEnum::exDisableBoth;
G2antt1->EndUpdate();

1351
How do I load bars from my table/database
// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->AddBar(Item,TVariant("Task"),TVariant(var_Items->get_CellValue(TVariant(Item),TVariant(2))),TVariant(var_Items->get_CellValue(TVariant(Item),TVariant(4))),TNoParam(),TNoParam());
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(1994,8,3).operator double()));
	var_Chart->set_PaneWidth(false,256);
	var_Chart->LevelCount = 2;
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exDay;
	var_Chart->FirstWeekDay = Exg2anttlib_tlb::WeekDayEnum::exMonday;
	var_Chart->OverviewVisible = Exg2anttlib_tlb::OverviewVisibleEnum::exOverviewShowAllVisible;
G2antt1->ColumnAutoResize = false;
G2antt1->ContinueColumnScroll = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADOR.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
G2antt1->DataSource = (IDispatch*)rs;
G2antt1->Items->AllowCellValueToItemBar = true;
G2antt1->Columns->get_Item(TVariant(2))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
G2antt1->Columns->get_Item(TVariant(4))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
G2antt1->EndUpdate();

1350
Is posible to reduce the size of the picture to be shown in the bar's caption

G2antt1->BeginUpdate();
G2antt1->HTMLPicture[L"pic1"] = TVariant("c:\\exontrol\\images\\zipdisk.gif");
G2antt1->Columns->Add(L"Task");
G2antt1->ScrollBySingleLine = true;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->set_PaneWidth(false,78);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Default-Size"));
	var_Items->set_ItemHeight(h,48);
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TVariant("K1"),TVariant("<img>pic1</img>"));
	h = var_Items->AddItem(TVariant("Custom-Size"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TVariant("K2"),TVariant("<img>pic1:18</img>"));
G2antt1->EndUpdate();

1349
Is posible to reduce the size of the picture to be shown in the column's caption
G2antt1->BeginUpdate();
G2antt1->HTMLPicture[L"pic1"] = TVariant("c:\\exontrol\\images\\zipdisk.gif");
G2antt1->HeaderHeight = 48;
G2antt1->Columns->Add(L"DefaultSize")->HTMLCaption = L"Default-Size <img>pic1</img> Picture";
G2antt1->Columns->Add(L"CustomSize")->HTMLCaption = L"Custom-Size <img>pic1:16</img> Picture";
G2antt1->EndUpdate();

1348
Is it possible to display the selected dates using a solid color instead vertical lines

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,128);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2008,1,1).operator double()));
	var_Chart->MarkTodayColor = var_Chart->BackColor;
	var_Chart->LevelCount = 2;
	var_Chart->MarkSelectDateColor = 0x7fcbc0ff;
	var_Chart->SelectLevel = 1;
	var_Chart->set_SelectDate(TDateTime(2008,1,8).operator double(),true);
	var_Chart->set_SelectDate(TDateTime(2008,1,9).operator double(),true);
	var_Chart->set_SelectDate(TDateTime(2008,1,10).operator double(),true);
G2antt1->DefaultItemHeight = 72;
G2antt1->Columns->Add(L"Default");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("")),TVariant(""),TVariant(TDateTime(2008,1,7).operator double()),TVariant(TDateTime(2008,1,12).operator double()),TVariant(""),TVariant(String("<b>MarkSelectDateColor(32)</b><br>should be <font ;11><i>0x7F000000 + RGB(rr,gg,bb)</i></font><br> or in the format as: <font ;") +
"11><i>0x7FBBGGRR</i></font>, <br>where BB is the hexa value for Blue, <br>GG for grean and so on."));
G2antt1->EndUpdate();

1347
How can I show the cells using a different background color based on the condition I have
G2antt1->BeginUpdate();
G2antt1->SelBackMode = Exg2anttlib_tlb::BackModeEnum::exTransparent;
G2antt1->ShowFocusRect = false;
Exg2anttlib_tlb::IConditionalFormatsPtr var_ConditionalFormats = G2antt1->ConditionalFormats;
	Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = var_ConditionalFormats->Add(L"dbl(%1)-dbl(%0) = 1",TNoParam());
		var_ConditionalFormat->BackColor = RGB(255,0,0);
		var_ConditionalFormat->ApplyTo = Exg2anttlib_tlb::FormatApplyToEnum(0x1);
	Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat1 = var_ConditionalFormats->Add(L"dbl(%0)-dbl(%1) = 3",TNoParam());
		var_ConditionalFormat1->BackColor = RGB(255,255,0);
		var_ConditionalFormat1->ApplyTo = Exg2anttlib_tlb::FormatApplyToEnum::exFormatToColumns;
	Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat2 = var_ConditionalFormats->Add(L"dbl(%1)-dbl(%0) = 4",TNoParam());
		var_ConditionalFormat2->ForeColor = RGB(128,128,128);
		var_ConditionalFormat2->Bold = true;
		var_ConditionalFormat2->ApplyTo = Exg2anttlib_tlb::FormatApplyToEnum::exFormatToItems;
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"C1")->Width = 8;
	var_Columns->Add(L"C2")->Width = 8;
	var_Columns->Add(L"");
G2antt1->Chart->set_PaneWidth(true,0);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(2))),TVariant(1),TVariant(3));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(5))),TVariant(1),TVariant(2));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(5))),TVariant(1),TVariant(6));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(2))),TVariant(1),TVariant(6));
G2antt1->EndUpdate();

1346
How can I specify the frame's color for all Task bars

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Task");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->set_PaneWidth(false,128);
	var_Chart->Bars->get_Item(TVariant("Task"))->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarFrameColor,TVariant(255));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TVariant("K2"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TVariant("K3"),TNoParam());
G2antt1->EndUpdate();

1345
Is it possible to change the bar's frame color

G2antt1->BeginUpdate();
G2antt1->DefaultItemHeight = 25;
G2antt1->Columns->Add(L"Task");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->set_PaneWidth(false,128);
	var_Chart->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exHLines;
	var_Chart->NonworkingDays = 0;
	var_Chart->Bars->get_Item(TVariant("Task"))->Height = 15;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Default"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TVariant("K1"),TNoParam());
	h = var_Items->AddItem(TVariant("Red-Frame"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,3).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TVariant("K1"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarFrameColor,TVariant(255));
	h = var_Items->AddItem(TVariant("Green-ThickFrame"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,4).operator double()),TVariant(TDateTime(2001,1,7).operator double()),TVariant("K1"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarPattern,TVariant(4099));
	var_Items->set_ItemBar(h,TVariant("K1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarFrameColor,TVariant(32768));
	h = var_Items->AddItem(TVariant("Red-ThickFrame/Shadow"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,5).operator double()),TVariant(TDateTime(2001,1,8).operator double()),TVariant("K1"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarPattern,TVariant(12291));
	var_Items->set_ItemBar(h,TVariant("K1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarFrameColor,TVariant(255));
G2antt1->EndUpdate();

1344
I need to customize the labels on the chart. Is it possible

G2antt1->BeginUpdate();
G2antt1->HeaderHeight = 32;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2011,7,1).operator double()));
	var_Chart->AdjustLevelsToBase = true;
	var_Chart->set_PaneWidth(false,0);
	var_Chart->LevelCount = 2;
	Exg2anttlib_tlb::ILevelPtr var_Level = var_Chart->get_Level(0);
		var_Level->Alignment = Exg2anttlib_tlb::AlignmentEnum::CenterAlignment;
		var_Level->set_Label(TVariant("<b><%d%> - <%mmmm%> - <%yyyy%>"));
		var_Level->Unit = Exg2anttlib_tlb::UnitEnum::exDay;
	Exg2anttlib_tlb::ILevelPtr var_Level1 = var_Chart->get_Level(1);
		var_Level1->set_Label(TVariant("<%h%>"));
		var_Level1->Count = 8;
		var_Level1->Unit = Exg2anttlib_tlb::UnitEnum::exHour;
		var_Level1->FormatLabel = TVariant(String("int(value) case ( 0 : 'Shift <b>1</b><br><font ;11>' + yearday(dvalue) + '</font>/365 ' ; 8 : 'Shift <b>2</b><br>' + weekday(dv") +
"alue) + '/20'; 16 : 'Shift <b>3</b><br>' + (weekday(dvalue) case ( 0 : '12/22'; 1 : '12/23'; 2 : '2/3'; 3 : '12/13'; 4 : '22/34'" +
" ; 5 : '102-<fgcolor=FF0000><b>31</b></bgcolor>'; 6 : '1/1' ) )  ) ");
	var_Chart->UnitWidth = 64;
	var_Chart->NonworkingDays = 0;
G2antt1->EndUpdate();

1343
Is it possible to show a frame around the bar

G2antt1->BeginUpdate();
G2antt1->DefaultItemHeight = 25;
Exg2anttlib_tlb::IAppearancePtr var_Appearance = G2antt1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAEGg4BOUMQAAYAQGKIYBkAKBQAGaAoDDYMgzQwAAxDELMEwsACEIrjKCVIgkHYJRjGEZxMAsEwjAoaQChEZRUhEMgxDDIIyAJIcaw0GSEZwgOQZB") +
"iOEYnDANkIYJDSIYHTZIUzTJAdGSVJKNKAoKCaEgORo5SpNUghBDYKQTJyeagkaaRVCWLplRCNIwWNJdVwjEaQaaiarKNqKNpSViAEqSdKEZRLOyRZyiKQMEreY4EUDQ" +
"cxUPYMNYaAC6AAparpbwCFpSYpRND3TaEE4jSLKAA0HD6QqebIDDJaFq6PbVXSTOLPNhgPQcWxeVJBXjLExUALGSYLC6nKayHZcHACKK5VbVW6ZZDdNy/BLQeD4QANG4" +
"riuNJriMV4dgWVgHh+ZpgCeEIQEQJIgGkMYdA6JwjC0VAAmaJgQgmPp4lCWgSCiaB+DKIYIjqQpllMf6JgYAoAmASAWAaAZggQDJ/gKYJIDYDoDmECBGAOBBhEgVgUgS" +
"YRoGYGYGCGKB2BCBwhmiBgLggIgoHoJIJGGKIeCiBYiiiLgXgCIpohoMIMGKGJODSCwghiZg6g6Y5InYPh/lAECAg"));
	var_Appearance->Add(2,TVariant("CP:1 2 2 -2 -2"));
	var_Appearance->Add(3,TVariant("CP:1 -5 -5 5 5"));
	var_Appearance->Add(4,TVariant("XP:Window 19 1"));
	var_Appearance->Add(5,TVariant("XP:TreeView 2 1"));
G2antt1->Columns->Add(L"Task");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->set_PaneWidth(false,128);
	var_Chart->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exHLines;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Default"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TVariant("K1"),TNoParam());
	h = var_Items->AddItem(TVariant("Red-Frame"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,3).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TVariant("K1"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarFrameColor,TVariant(255));
	h = var_Items->AddItem(TVariant("Green-ThickFrame"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,4).operator double()),TVariant(TDateTime(2001,1,7).operator double()),TVariant("K1"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarPattern,TVariant(4099));
	var_Items->set_ItemBar(h,TVariant("K1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarFrameColor,TVariant(32768));
	h = var_Items->AddItem(TVariant("Red-ThickFrame/Shadow"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,4).operator double()),TVariant(TDateTime(2001,1,7).operator double()),TVariant("K1"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarPattern,TVariant(12291));
	var_Items->set_ItemBar(h,TVariant("K1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarFrameColor,TVariant(255));
	h = var_Items->AddItem(TVariant("EBN-Frame-Border"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,5).operator double()),TVariant(TDateTime(2001,1,9).operator double()),TVariant("K2"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K2"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarFrameColor,TVariant(16777216));
	h = var_Items->AddItem(TVariant("EBN-Inside Frame"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,9).operator double()),TVariant(TDateTime(2001,1,13).operator double()),TVariant("K3"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K3"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarFrameColor,TVariant(33554432));
	h = var_Items->AddItem(TVariant("EBN-Outside Frame"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,15).operator double()),TVariant(TDateTime(2001,1,18).operator double()),TVariant("K4"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K4"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarFrameColor,TVariant(50331648));
	h = var_Items->AddItem(TVariant("EBN-XP Close Button"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,15).operator double()),TVariant(TDateTime(2001,1,18).operator double()),TVariant("K5"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K5"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarFrameColor,TVariant(67108864));
	h = var_Items->AddItem(TVariant("EBN-XP TreeView Glyph"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,15).operator double()),TVariant(TDateTime(2001,1,18).operator double()),TVariant("K6"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("K6"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarFrameColor,TVariant(83886080));
G2antt1->EndUpdate();

1342
Currently your control, provides customization up to Year,Month,Day,Hours,etc. I would like to add Shifts in a day. Shortly, I need to customize the chart's header. Is it possible

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2011,7,1).operator double()));
	var_Chart->AdjustLevelsToBase = true;
	var_Chart->set_PaneWidth(false,0);
	var_Chart->LevelCount = 2;
	Exg2anttlib_tlb::ILevelPtr var_Level = var_Chart->get_Level(0);
		var_Level->Alignment = Exg2anttlib_tlb::AlignmentEnum::CenterAlignment;
		var_Level->set_Label(TVariant("<b><%d%> - <%mmmm%> - <%yyyy%>"));
		var_Level->Unit = Exg2anttlib_tlb::UnitEnum::exDay;
	Exg2anttlib_tlb::ILevelPtr var_Level1 = var_Chart->get_Level(1);
		var_Level1->set_Label(TVariant("<%h%>"));
		var_Level1->Count = 8;
		var_Level1->Unit = Exg2anttlib_tlb::UnitEnum::exHour;
		var_Level1->set_ReplaceLabel(L"0",L" Shift 1");
		var_Level1->set_ReplaceLabel(L"8",L" Shift 2");
		var_Level1->set_ReplaceLabel(L"16",L" Shift 3");
	var_Chart->UnitWidth = 48;
	var_Chart->NonworkingDays = 0;
G2antt1->EndUpdate();

1341
The exbartootip shows dates after you moved or resized the bar. My question is during the move or resizing of bar(you click on bar and drag it,during that time) , can we display the new dates simultaneously so we will know where we want to move or resize the bar to

G2antt1->Columns->Add(L"Task");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,64);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->DrawDateTicker = true;
	var_Chart->DateTickerLabel = L"<%mmm%> <%d%><br><b><%yyyy%>";
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Tasks A"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,5).operator double()),TVariant(TDateTime(2001,1,9).operator double()),TVariant("K2"),TNoParam());
	var_Items->set_SelectableItem(var_Items->AddItem(TNoParam()),false);
	h = var_Items->AddItem(TVariant("Tasks B"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,3).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,8).operator double()),TVariant(TDateTime(2001,1,11).operator double()),TVariant("K2"),TNoParam());

1340
Is it possible to assign a tooltip automatically to all bars, so it can display the start and end, without specifying the IexBarToolTip for each bar
G2antt1->Columns->Add(L"Task");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,64);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->Bars->get_Item(TVariant("Task"))->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarToolTip,TVariant("<b><%=%9 + '/' + %C0%></b><br><upline><dotline>Start: <%=%1%><br>End: <%=%2%><br>Duration: <%=(%2-%1)%><br>Working: <%=%258%>"));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Tasks A"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,5).operator double()),TVariant(TDateTime(2001,1,9).operator double()),TVariant("K2"),TNoParam());
	h = var_Items->AddItem(TVariant("Tasks B"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,3).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,8).operator double()),TVariant(TDateTime(2001,1,11).operator double()),TVariant("K2"),TNoParam());

1339
How can I change the color, font, bold etc for the items/cells in the same column or for the entire column
G2antt1->BeginUpdate();
Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = G2antt1->ConditionalFormats->Add(L"1",TNoParam());
	var_ConditionalFormat->Bold = true;
	var_ConditionalFormat->ForeColor = RGB(255,0,0);
	var_ConditionalFormat->ApplyTo = Exg2anttlib_tlb::FormatApplyToEnum(0x1);
G2antt1->Columns->Add(L"C1");
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"C2");
	var_Column->HeaderBold = true;
	var_Column->HTMLCaption = L"<fgcolor=FF0000>C2";
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(10))),TVariant(1),TVariant(11));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant(12))),TVariant(1),TVariant(13));
G2antt1->EndUpdate();

1338
How can I remove a date-time zone

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void __fastcall TForm1::G2antt1Click(TObject *Sender)
{
	G2antt1->Chart->RemoveTimeZone(TVariant("Z1"));
}

Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,18);
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2010,1,1).operator double()));
	var_Chart->MarkTimeZone(TVariant("Z1"),TVariant(TDateTime(2010,1,4).operator double()),TVariant(TDateTime(2010,1,8).operator double()),TVariant(16744544),TNoParam());

1337
How can I filter the check-boxes (method 2)
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Check");
	Exg2anttlib_tlb::IEditorPtr var_Editor = var_Column->Editor;
		var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::CheckValueType;
		var_Editor->set_Option(Exg2anttlib_tlb::EditorOptionEnum::exCheckValue2,TVariant(1));
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->CustomFilter = L"checked||-1|||unchecked||0";
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant(true));
	var_Items->AddItem(TVariant(true));
	var_Items->AddItem(TVariant(false));
	var_Items->AddItem(TVariant(true));
	var_Items->AddItem(TVariant(false));
	var_Items->AddItem(TVariant(true));
	var_Items->AddItem(TVariant(false));

1336
How can I filter the check-boxes (method 1)
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Check");
	Exg2anttlib_tlb::IEditorPtr var_Editor = var_Column->Editor;
		var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::CheckValueType;
		var_Editor->set_Option(Exg2anttlib_tlb::EditorOptionEnum::exCheckValue2,TVariant(1));
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exCheck;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant(true));
	var_Items->AddItem(TVariant(true));
	var_Items->AddItem(TVariant(false));
	var_Items->AddItem(TVariant(true));
	var_Items->AddItem(TVariant(false));
	var_Items->AddItem(TVariant(true));
	var_Items->AddItem(TVariant(false));

1335
How can add a button to control

// ButtonClick event - Occurs when user clicks on the cell's button.
void __fastcall TForm1::G2antt1ButtonClick(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex,Variant   Key)
{
	OutputDebugString( L"ButtonClick" );
	OutputDebugString( G2antt1->Items->get_CellCaption(TVariant(Item),TVariant(ColIndex)) );
	OutputDebugString( L"Key" );
}

G2antt1->BeginUpdate();
G2antt1->DefaultItemHeight = 22;
G2antt1->HeaderHeight = 22;
G2antt1->Appearance = Exg2anttlib_tlb::AppearanceEnum::None2;
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
G2antt1->ScrollBySingleLine = false;
G2antt1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
G2antt1->HTMLPicture[L"pic1"] = TVariant("c:\\exontrol\\images\\auction.gif");
G2antt1->Chart->set_PaneWidth(true,0);
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Type");
		var_Column->Width = 48;
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
	Exg2anttlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Appearance");
		var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
		var_Column1->Alignment = Exg2anttlib_tlb::AlignmentEnum::CenterAlignment;
		var_Column1->HeaderAlignment = Exg2anttlib_tlb::AlignmentEnum::CenterAlignment;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Items.<b>CellHasButton</b> property"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Button <b>1</b>"));
	var_Items->set_CellHasButton(TVariant(h),TVariant(1),true);
	h = var_Items->AddItem(TVariant("Items.<b>CellButtonAutoWidth</b> property"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant(" Button <b>2</b> "));
	var_Items->set_CellHasButton(TVariant(h),TVariant(1),true);
	var_Items->set_CellButtonAutoWidth(TVariant(h),TVariant(1),true);
	h = var_Items->AddItem(TVariant("Items.<b>CellHasButton</b> property"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant(" <img>2</img>Button <b>3</b> "));
	var_Items->set_CellHasButton(TVariant(h),TVariant(1),true);
	var_Items->set_CellButtonAutoWidth(TVariant(h),TVariant(1),true);
	h = var_Items->AddItem(TVariant("Items.<b>CellHasButton</b> property"));
	var_Items->set_ItemHeight(h,32);
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant(" <img>2</img>Button <b>4</b> <img>pic1</img> "));
	var_Items->set_CellHasButton(TVariant(h),TVariant(1),true);
	var_Items->set_CellButtonAutoWidth(TVariant(h),TVariant(1),true);
	h = var_Items->AddItem(TVariant("Items.<b>CellHasButton</b> in splitted cells"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant(" Button <b>5.1</b> "));
	var_Items->set_CellHasButton(TVariant(h),TVariant(1),true);
	var_Items->set_CellButtonAutoWidth(TVariant(h),TVariant(1),true);
	TVariant s = TVariant(var_Items->get_SplitCell(TVariant(h),TVariant(1)));
	var_Items->set_CellValue(TVariant(0),TVariant(s),TVariant(" Button <b>5.2</b> "));
	var_Items->set_CellHasButton(TVariant(0),TVariant(s),true);
	var_Items->set_CellButtonAutoWidth(TVariant(0),TVariant(s),true);
	h = var_Items->AddItem(TVariant("Column.<b>Editor</b>, Items.<b>CellEditor</b>"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Visible when clicking the cell"));
	Exg2anttlib_tlb::IEditorPtr var_Editor = var_Items->get_CellEditor(TVariant(h),TVariant(1));
		var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::EditType;
		var_Editor->AddButton(TVariant("B1"),TVariant(1),TVariant(0),TVariant("This is a bit of text that's shown when the cursor hovers the button B1"),TNoParam(),TNoParam());
		var_Editor->AddButton(TVariant("B3"),TVariant(2),TVariant(1),TVariant("This is a bit of text that's shown when the cursor hovers the button B3"),TNoParam(),TNoParam());
		var_Editor->AddButton(TVariant("B4"),TVariant(1),TVariant(1),TVariant("This is a bit of text that's shown when the cursor hovers the button B4"),TNoParam(),TNoParam());
		var_Editor->ButtonWidth = 24;
	h = var_Items->AddItem(TVariant("Column.<b>Editor</b>, Items.<b>CellEditor</b>"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant(3));
	Exg2anttlib_tlb::IEditorPtr var_Editor1 = var_Items->get_CellEditor(TVariant(h),TVariant(1));
		var_Editor1->EditType = Exg2anttlib_tlb::EditTypeEnum::CheckListType;
		var_Editor1->AddItem(1,L"Flag 1",TNoParam());
		var_Editor1->AddItem(2,L"Flag 2",TNoParam());
		var_Editor1->AddItem(4,L"Flag 4",TNoParam());
		var_Editor1->AddItem(8,L"Flag 8",TNoParam());
		var_Editor1->AddButton(TVariant("C1"),TVariant(1),TVariant(0),TVariant("This is a bit of text that's shown when the cursor hovers the button C1"),TNoParam(),TNoParam());
		var_Editor1->AddButton(TVariant("C3"),TVariant(2),TVariant(0),TVariant("This is a bit of text that's shown when the cursor hovers the button C2"),TNoParam(),TNoParam());
		var_Editor1->AddButton(TVariant("C4"),TVariant(1),TVariant(0),TVariant("This is a bit of text that's shown when the cursor hovers the button C3"),TNoParam(),TNoParam());
		var_Editor1->ButtonWidth = 24;
G2antt1->EndUpdate();

1334
Is it posible to store additional values against each item, cell, bar, link, such as custom values such string / numbers etc
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->set_PaneWidth(false,96);
G2antt1->Columns->Add(L"Column")->set_Data(TVariant("Extra_Data_Column"));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Item 1"));
	var_Items->set_ItemData(h,TVariant("Extra_Data_Item 1"));
	var_Items->set_CellData(TVariant(h),TVariant(0),TVariant("Extra_Data_Item 1_Cell_0"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("B1"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("B1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarData,TVariant("Extra_B1_Data"));
	h = var_Items->AddItem(TVariant("Item 2"));
	var_Items->set_ItemData(h,TVariant("Extra_Data_Item 2"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,6).operator double()),TVariant(TDateTime(2001,1,10).operator double()),TVariant("B2"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("B2"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarData,TVariant("Extra_B2_Data"));
	var_Items->AddLink(TVariant("L1"),var_Items->get_FindItem(TVariant("Item 1"),TVariant(0),TNoParam()),TVariant("B1"),var_Items->get_FindItem(TVariant("Item 2"),TVariant(0),TNoParam()),TVariant("B2"));
	var_Items->set_Link(TVariant("L1"),Exg2anttlib_tlb::LinkPropertyEnum::exLinkUserData,TVariant("Extra_Link_Data"));

1333
How do I set the parent item to show the total number of days for its children and also the minimum and maximum dates for its children

G2antt1->BeginUpdate();
G2antt1->MarkSearchColumn = false;
G2antt1->Indent = 11;
G2antt1->HasLines = Exg2anttlib_tlb::HierarchyLineEnum::exSolidLine;
G2antt1->Items->AllowCellValueToItemBar = true;
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"Tasks");
	var_Columns->Add(L"Start")->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
	var_Columns->Add(L"End")->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
	var_Columns->Add(L"Duration")->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(513));
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->ShowNonworkingDates = false;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2006,9,20).operator double()));
	var_Chart->AllowLinkBars = false;
	var_Chart->AllowCreateBar = Exg2anttlib_tlb::CreateBarEnum::exNoCreateBar;
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,220);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	var_Items->AddBar(h,TVariant("Summary"),TVariant(TDateTime(2006,9,21).operator double()),TVariant(TDateTime(2006,10,3).operator double()),TNoParam(),TNoParam());
	long h1 = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	var_Items->AddBar(h1,TVariant("Task"),TVariant(TDateTime(2006,9,21).operator double()),TVariant(TDateTime(2006,9,24).operator double()),TNoParam(),TNoParam());
	long h2 = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	var_Items->AddBar(h2,TVariant("Task"),TVariant(TDateTime(2006,9,24).operator double()),TVariant(TDateTime(2006,9,28).operator double()),TNoParam(),TNoParam());
	long h3 = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->AddBar(h3,TVariant("Task"),TVariant(TDateTime(2006,9,28).operator double()),TVariant(TDateTime(2006,10,3).operator double()),TNoParam(),TNoParam());
	var_Items->DefineSummaryBars(h,TVariant(""),h1,TVariant(""));
	var_Items->DefineSummaryBars(h,TVariant(""),h2,TVariant(""));
	var_Items->DefineSummaryBars(h,TVariant(""),h3,TVariant(""));
	var_Items->set_ExpandItem(h,true);
	var_Items->set_ItemBold(h,true);
G2antt1->EndUpdate();

1332
Is it possible to specify the distance between 2 bars to be at least 2 working days

// BarResizing event - Occurs when a bar is moving or resizing.
void __fastcall TForm1::G2antt1BarResizing(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,Variant   Key)
{
	G2antt1->Items->SchedulePDM(Item,TVariant(Key));
}

G2antt1->BeginUpdate();
G2antt1->DefaultItemHeight = 24;
G2antt1->AntiAliasing = true;
G2antt1->Columns->Add(L"Task");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->Add(L"Task:Split");
		var_Bar->Shortcut = L"Task";
		var_Bar->Color = RGB(0,0,0);
		var_Bar->Height = 17;
		var_Bar->Pattern = Exg2anttlib_tlb::PatternEnum::exPatternFrameShadow;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,3).operator double()));
	var_Chart->set_PaneWidth(false,48);
	var_Chart->LinksWidth = 2;
	var_Chart->AllowCreateBar = Exg2anttlib_tlb::CreateBarEnum::exNoCreateBar;
	var_Chart->AllowLinkBars = false;
	var_Chart->FirstWeekDay = Exg2anttlib_tlb::WeekDayEnum::exMonday;
	var_Chart->NonworkingDaysPattern = Exg2anttlib_tlb::PatternEnum::exPatternBDiagonal;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h1 = var_Items->AddItem(TVariant("Task 1"));
	var_Items->AddBar(h1,TVariant("Task"),TVariant(TDateTime(2001,1,4).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TVariant("K1"),TNoParam());
	var_Items->set_ItemBar(h1,TVariant("K1"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKeepWorkingCount,TVariant(true));
	long h2 = var_Items->AddItem(TVariant("Task 2"));
	var_Items->AddBar(h2,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TVariant("K2"),TNoParam());
	var_Items->set_ItemBar(h2,TVariant("K2"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKeepWorkingCount,TVariant(true));
	var_Items->AddLink(TVariant("L1"),h1,TVariant("K1"),h2,TVariant("K2"));
	var_Items->set_Link(TVariant("L1"),Exg2anttlib_tlb::LinkPropertyEnum::exLinkShowRound,TVariant(-1));
	var_Items->set_Link(TVariant("L1"),Exg2anttlib_tlb::LinkPropertyEnum::exLinkColor,TVariant(8421504));
	long h3 = var_Items->AddItem(TVariant("Task 3"));
	var_Items->AddBar(h3,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TVariant("K3"),TNoParam());
	var_Items->set_ItemBar(h3,TVariant("K3"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKeepWorkingCount,TVariant(true));
	var_Items->AddLink(TVariant("L2"),h2,TVariant("K2"),h3,TVariant("K3"));
	var_Items->set_Link(TVariant("L2"),Exg2anttlib_tlb::LinkPropertyEnum::exLinkText,TVariant("<br><br><br><br>This link <u>delays</u> the bars<br>with <b>2</b> working days"));
	var_Items->set_Link(TVariant("L2"),Exg2anttlib_tlb::LinkPropertyEnum::exLinkPDMWorkingDelay,TVariant(2));
	var_Items->set_Link(TVariant("L2"),Exg2anttlib_tlb::LinkPropertyEnum::exLinkShowRound,TVariant(-1));
	var_Items->SchedulePDM(0,TVariant("K1"));
G2antt1->EndUpdate();

1331
The item is not getting selected when clicking the cell's checkbox. What should I do
// CellStateChanged event - Fired after cell's state has been changed.
void __fastcall TForm1::G2antt1CellStateChanged(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex)
{
	G2antt1->Items->set_SelectItem(Item,true);
}

G2antt1->Columns->Add(L"Check")->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant(0));
	var_Items->AddItem(TVariant(1));
	var_Items->AddItem(TVariant(2));
	var_Items->AddItem(TVariant(3));

1330
How can I add a summary item as a child or subitem of another one

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,96);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2011,1,1).operator double()));
	var_Chart->LevelCount = 2;
G2antt1->Columns->Add(L"Default");
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long hSummary = var_Items->AddItem(TVariant("Project"));
	var_Items->AddBar(hSummary,TVariant("Summary"),TVariant(TDateTime(2011,1,1).operator double()),TVariant(TDateTime(2011,1,1).operator double()),TVariant("Sum"),TNoParam());
	long hChild = var_Items->InsertItem(hSummary,TVariant(0),TVariant("Task 1"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2011,1,2).operator double()),TVariant(TDateTime(2011,1,4).operator double()),TVariant("Task1"),TNoParam());
	var_Items->DefineSummaryBars(hSummary,TVariant("Sum"),hChild,TVariant("Task1"));
	hChild = var_Items->InsertItem(hSummary,TVariant(0),TVariant("Task 2"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2011,1,4).operator double()),TVariant(TDateTime(2011,1,6).operator double()),TVariant("Task2"),TNoParam());
	var_Items->DefineSummaryBars(hSummary,TVariant("Sum"),hChild,TVariant("Task2"));
	hChild = var_Items->InsertItem(hSummary,TVariant(0),TVariant("Task 3"));
	var_Items->AddBar(hChild,TVariant("Task"),TVariant(TDateTime(2011,1,6).operator double()),TVariant(TDateTime(2011,1,8).operator double()),TVariant("Task3"),TNoParam());
	var_Items->DefineSummaryBars(hSummary,TVariant("Sum"),hChild,TVariant("Task3"));
	var_Items->set_ExpandItem(hSummary,true);
G2antt1->EndUpdate();

1329
How can I make an item a subitem of another one
G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->Columns->Add(L"Default");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long hSummary = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(hSummary,TVariant(0),TVariant("Task 1"));
	hChild = var_Items->InsertItem(hSummary,TVariant(0),TVariant("Task 2"));
	hChild = var_Items->InsertItem(hSummary,TVariant(0),TVariant("Task 3"));
	var_Items->set_ExpandItem(hSummary,true);
G2antt1->EndUpdate();

1328
Is it possible to move a bar per drag and drop to another owner/item
G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Members")->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2006,9,20).operator double()));
	var_Chart->AllowLinkBars = false;
	var_Chart->AllowCreateBar = Exg2anttlib_tlb::CreateBarEnum::exNoCreateBar;
	var_Chart->AllowSelectObjects = Exg2anttlib_tlb::SelectObjectsEnum::exNoSelectObjects;
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,96);
	var_Chart->Bars->get_Item(TVariant("Task"))->OverlaidType = Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsIncludeCaption | Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsStackAutoArrange | Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsStack;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Member <b>1</b>"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2006,9,21).operator double()),TVariant(TDateTime(2006,9,23).operator double()),TVariant("T102"),TVariant("Task <b>102</b>"));
	var_Items->set_ItemBar(h,TVariant("T102"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	var_Items->set_ItemBar(h,TVariant("T102"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCanMoveToAnother,TVariant(true));
	h = var_Items->AddItem(TVariant("Member <b>2</b>"));
	h = var_Items->AddItem(TVariant("Member <b>3</b>"));
	h = var_Items->AddItem(TVariant("Member <b>4</b>"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2006,9,21).operator double()),TVariant(TDateTime(2006,9,23).operator double()),TVariant("T103"),TVariant("Task <b>103</b>"));
	var_Items->set_ItemBar(h,TVariant("T103"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	var_Items->set_ItemBar(h,TVariant("T103"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCanMoveToAnother,TVariant(true));
G2antt1->EndUpdate();

1327
I have the chart displaying days, is it possible to display bars/tasks up to hours so inside days somehow
G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->UnitWidth = 38;
	var_Chart->set_PaneWidth(false,28);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2011,3,4).operator double()));
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exDay;
	var_Chart->ResizeUnitScale = Exg2anttlib_tlb::UnitEnum::exHour;
G2antt1->Columns->Add(L"Default");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("ASS")),TVariant("Task"),TVariant(TDateTime(2011,3,7).operator double()),TVariant(TDateTime(2011,3,7,3,30,00,0).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("EMB")),TVariant("Task"),TVariant(TDateTime(2011,3,7,3,30,00,0).operator double()),TVariant(TDateTime(2011,3,8,9,15,00,0).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("TES")),TVariant("Task"),TVariant(TDateTime(2011,3,8,9,15,00,0).operator double()),TVariant(TDateTime(2011,3,8,13,45,00,0).operator double()),TNoParam(),TNoParam());
G2antt1->EndUpdate();

1326
Is it possible to limit the height of the item while resizing
// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->set_ItemMinHeight(Item,18);
	G2antt1->Items->set_ItemMaxHeight(Item,72);
}

G2antt1->BeginUpdate();
G2antt1->ItemsAllowSizing = Exg2anttlib_tlb::ItemsAllowSizingEnum::exResizeItem;
G2antt1->ScrollBySingleLine = false;
G2antt1->BackColorAlternate = RGB(240,240,240);
G2antt1->Columns->Add(L"Names");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Mantel"));
	var_Items->AddItem(TVariant("Mechanik"));
	var_Items->AddItem(TVariant("Motor"));
	var_Items->AddItem(TVariant("Murks"));
	var_Items->AddItem(TVariant("Märchen"));
	var_Items->AddItem(TVariant("Möhren"));
	var_Items->AddItem(TVariant("Mühle"));
G2antt1->Columns->get_Item(TVariant(0))->SortOrder = Exg2anttlib_tlb::SortOrderEnum::SortAscending;
G2antt1->EndUpdate();

1325
Is it possible to copy the hierarchy of the control using the GetItems method
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->Columns->Add(L"Def");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Root"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
G2antt1->PutItems(G2antt1->GetItems(TVariant(-1)),TNoParam());

1324
I have found a property ReadOnly but this doesn't work correctly. I need the chart part of the control to be readonly too. Is it possible
G2antt1->ReadOnly = Exg2anttlib_tlb::ReadOnlyEnum::exReadOnly;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->AllowCreateBar = Exg2anttlib_tlb::CreateBarEnum::exNoCreateBar;
	var_Chart->BarsAllowSizing = false;
	var_Chart->AllowLinkBars = false;

1323
How can I select a column
// MouseDown event - Occurs when the user presses a mouse button.
void __fastcall TForm1::G2antt1MouseDown(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
	G2antt1->BeginUpdate();
	G2antt1->Columns->get_Item(TVariant(G2antt1->get_ColumnFromPoint(X,Y)))->Selected = true;
	G2antt1->Items->SelectAll();
	G2antt1->EndUpdate();
}

G2antt1->BeginUpdate();
G2antt1->MarkSearchColumn = false;
G2antt1->SingleSel = false;
G2antt1->FullRowSelect = Exg2anttlib_tlb::CellSelectEnum::exRectSel;
G2antt1->SortOnClick = Exg2anttlib_tlb::SortOnClickEnum::exNoSort;
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"Column1");
	var_Columns->Add(L"Column2");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("One"))),TVariant(1),TVariant("One"));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Two"))),TVariant(1),TVariant("Two"));
G2antt1->EndUpdate();

1322
I have several columns, but noticed that the filter is using AND between columns, but I need OR clause for filtering. Is it possible
G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Item");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->Filter = L"Child 1";
	var_Column->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exFilter;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Date");
	var_Column1->DisplayFilterButton = true;
	var_Column1->DisplayFilterPattern = false;
	var_Column1->DisplayFilterDate = true;
	var_Column1->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exNoItems;
	var_Column1->Filter = L"TDateTime(2010,12,28).operator double()";
	var_Column1->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exDate;
G2antt1->FilterCriteria = L"%0 or %1";
G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarOr] = L"<font ;18><fgcolor=FF0000>or</fgcolor></font>";
G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = L"<font ;18><fgcolor=FF0000>and</fgcolor></font>";
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->set_CellValue(TVariant(var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"))),TVariant(1),TVariant(TDateTime(2010,12,27).operator double()));
	var_Items->set_CellValue(TVariant(var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"))),TVariant(1),TVariant(TDateTime(2010,12,28).operator double()));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->set_CellValue(TVariant(var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"))),TVariant(1),TVariant(TDateTime(2010,12,29).operator double()));
	var_Items->set_CellValue(TVariant(var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"))),TVariant(1),TVariant(TDateTime(2010,12,30).operator double()));
G2antt1->ApplyFilter();
G2antt1->EndUpdate();

1321
Is it possible exclude the dates being selected in the drop down filter window
G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Date");
	var_Column->SortType = Exg2anttlib_tlb::SortTypeEnum::SortDate;
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->DisplayFilterDate = true;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exNoItems;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant(TDateTime(2010,12,27).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,28).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,29).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,30).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,31).operator double()));
G2antt1->EndUpdate();

1320
How can I display a calendar control inside the drop down filter window
G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Date");
	var_Column->SortType = Exg2anttlib_tlb::SortTypeEnum::SortDate;
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->DisplayFilterDate = true;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exNoItems;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant(TDateTime(2010,12,27).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,28).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,29).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,30).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,31).operator double()));
G2antt1->EndUpdate();

1319
Is it possible to include the dates as checkb-boxes in the drop down filter window
G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Dates");
	var_Column->SortType = Exg2anttlib_tlb::SortTypeEnum::SortDate;
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = true;
	var_Column->DisplayFilterDate = true;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox;
	var_Column->Filter = L"to 12/27/2010";
	var_Column->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exDate;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant(TDateTime(2010,12,27).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,28).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,29).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,30).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,31).operator double()));
G2antt1->ApplyFilter();
G2antt1->EndUpdate();

1318
How can I filter items for dates before a specified date
G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Dates");
	var_Column->SortType = Exg2anttlib_tlb::SortTypeEnum::SortDate;
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = true;
	var_Column->DisplayFilterDate = true;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exNoItems;
	var_Column->Filter = L"to 12/27/2010";
	var_Column->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exDate;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant(TDateTime(2010,12,27).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,28).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,29).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,30).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,31).operator double()));
G2antt1->ApplyFilter();
G2antt1->EndUpdate();

1317
Is it possible to filter dates
G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Dates");
	var_Column->SortType = Exg2anttlib_tlb::SortTypeEnum::SortDate;
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = true;
	var_Column->DisplayFilterDate = true;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exNoItems;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant(TDateTime(2010,12,27).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,28).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,29).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,30).operator double()));
	var_Items->AddItem(TVariant(TDateTime(2010,12,31).operator double()));
G2antt1->EndUpdate();

1316
Is it possible to change the Exclude field name to something different, in the drop down filter window
G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarExclude] = L"Leaving out";
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Items");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
G2antt1->EndUpdate();

1315
How can I display the Exclude field in the drop down filter window
G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Items");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
G2antt1->EndUpdate();

1314
Is it possible to show and ensure the focused item from the control, in the drop down filter window
G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Items");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->set_SelectItem(var_Items->InsertItem(h,TNoParam(),TVariant("Child 2")),true);
	var_Items->set_ExpandItem(h,true);
G2antt1->EndUpdate();

1313
Is it possible to show only blanks items with no listed items from the control
G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Items");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowBlanks | Exg2anttlib_tlb::FilterListEnum::exNoItems;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
G2antt1->EndUpdate();

1312
How can I include the blanks items in the drop down filter window
G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Items");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowBlanks | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
G2antt1->EndUpdate();

1311
How can I select multiple items in the drop down filter window, using check-boxes
G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Items");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowCheckBox;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
G2antt1->EndUpdate();

1310
Is it possible to allow a single item being selected in the drop down filter window
G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Items");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exSingleSel;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
G2antt1->EndUpdate();

1309
How can I display no (All) item in the drop down filter window
G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAll] = L"";
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Items");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = true;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exNoItems;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
G2antt1->EndUpdate();

1308
Is it possible to display no items in the drop down filter window, so only the pattern is visible
G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Items");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = true;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exNoItems;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
G2antt1->EndUpdate();

1307
How can I specify the time-scale available when zoom-in/zoom-out or enlarging the chart
G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Task");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->set_PaneWidth(false,48);
	var_Chart->ShowNonworkingDates = false;
	var_Chart->LevelCount = 3;
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exDay;
	var_Chart->AllowResizeChart = Exg2anttlib_tlb::ResizeChartEnum::exAllowChangeUnitScale | Exg2anttlib_tlb::ResizeChartEnum::exAllowResizeChartMiddle | Exg2anttlib_tlb::ResizeChartEnum::exAllowResizeChartHeader;
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exHour,L"");
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exMinute,L"");
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exSecond,L"");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task A")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task B")),TVariant("Task"),TVariant(TDateTime(2001,1,6).operator double()),TVariant(TDateTime(2001,1,10).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task C")),TVariant("Task"),TVariant(TDateTime(2001,1,10).operator double()),TVariant(TDateTime(2001,1,14).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("")),TVariant(""),TVariant(TDateTime(2001,1,8).operator double()),TVariant(TDateTime(2001,1,8).operator double()),TVariant("Info"),TVariant("Click the <b>middle</b> mouse button and start dragging"));
G2antt1->EndUpdate();

1306
How can I enable zoom-in/zoom-out or enlarging the chart, using the mouse middle button
G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Task");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->set_PaneWidth(false,48);
	var_Chart->ShowNonworkingDates = false;
	var_Chart->LevelCount = 3;
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exDay;
	var_Chart->AllowResizeChart = Exg2anttlib_tlb::ResizeChartEnum::exAllowChangeUnitScale | Exg2anttlib_tlb::ResizeChartEnum::exAllowResizeChartMiddle | Exg2anttlib_tlb::ResizeChartEnum::exAllowResizeChartHeader;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task A")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task B")),TVariant("Task"),TVariant(TDateTime(2001,1,6).operator double()),TVariant(TDateTime(2001,1,10).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task C")),TVariant("Task"),TVariant(TDateTime(2001,1,10).operator double()),TVariant(TDateTime(2001,1,14).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("")),TVariant(""),TVariant(TDateTime(2001,1,8).operator double()),TVariant(TDateTime(2001,1,8).operator double()),TVariant("Info"),TVariant("Click the <b>middle</b> mouse button and start dragging"));
G2antt1->EndUpdate();

1305
How can I enable zoom-in/zoom-out or enlarging, using the chart's header

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Task");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->set_PaneWidth(false,48);
	var_Chart->ShowNonworkingDates = false;
	var_Chart->LevelCount = 3;
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exDay;
	var_Chart->AllowResizeChart = Exg2anttlib_tlb::ResizeChartEnum::exAllowChangeUnitScale | Exg2anttlib_tlb::ResizeChartEnum::exAllowResizeChartHeader;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task A")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task B")),TVariant("Task"),TVariant(TDateTime(2001,1,6).operator double()),TVariant(TDateTime(2001,1,10).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task C")),TVariant("Task"),TVariant(TDateTime(2001,1,10).operator double()),TVariant(TDateTime(2001,1,14).operator double()),TVariant("K1"),TNoParam());
G2antt1->EndUpdate();

1304
How can I enable resizing the chart, using the mouse middle button
G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Task");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->set_PaneWidth(false,48);
	var_Chart->ShowNonworkingDates = false;
	var_Chart->LevelCount = 3;
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exDay;
	var_Chart->AllowResizeChart = Exg2anttlib_tlb::ResizeChartEnum::exAllowResizeChartMiddle | Exg2anttlib_tlb::ResizeChartEnum::exAllowResizeChartHeader;
	var_Chart->MaxUnitWidth = 128;
	var_Chart->MinUnitWidth = 8;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task A")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task B")),TVariant("Task"),TVariant(TDateTime(2001,1,6).operator double()),TVariant(TDateTime(2001,1,10).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task C")),TVariant("Task"),TVariant(TDateTime(2001,1,10).operator double()),TVariant(TDateTime(2001,1,14).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("")),TVariant(""),TVariant(TDateTime(2001,1,8).operator double()),TVariant(TDateTime(2001,1,8).operator double()),TVariant("Info"),TVariant("Click the <b>middle</b> mouse button and start dragging"));
G2antt1->EndUpdate();

1303
How can I enable resizing the chart, using the chart's header
G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Task");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->set_PaneWidth(false,48);
	var_Chart->ShowNonworkingDates = false;
	var_Chart->LevelCount = 3;
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exDay;
	var_Chart->AllowResizeChart = Exg2anttlib_tlb::ResizeChartEnum::exAllowResizeChartHeader;
	var_Chart->MaxUnitWidth = 128;
	var_Chart->MinUnitWidth = 8;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task A")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,6).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task B")),TVariant("Task"),TVariant(TDateTime(2001,1,6).operator double()),TVariant(TDateTime(2001,1,10).operator double()),TVariant("K1"),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task C")),TVariant("Task"),TVariant(TDateTime(2001,1,10).operator double()),TVariant(TDateTime(2001,1,14).operator double()),TVariant("K1"),TNoParam());
G2antt1->EndUpdate();

1302
Is it possible to auto-numbering the children items but still keeps the position after filtering

G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Items");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exFilter;
	var_Column->Filter = L"Child 2";
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Pos.1");
	var_Column1->FormatColumn = L"1 ropos ''";
	var_Column1->Position = 0;
	var_Column1->Width = 32;
	var_Column1->AllowSizing = false;
Exg2anttlib_tlb::IColumnPtr var_Column2 = G2antt1->Columns->Add(L"Pos.2");
	var_Column2->FormatColumn = L"1 ropos ':'";
	var_Column2->Position = 1;
	var_Column2->Width = 32;
	var_Column2->AllowSizing = false;
Exg2anttlib_tlb::IColumnPtr var_Column3 = G2antt1->Columns->Add(L"Pos.3");
	var_Column3->FormatColumn = L"1 ropos ':|A-Z'";
	var_Column3->Position = 2;
	var_Column3->Width = 32;
	var_Column3->AllowSizing = false;
Exg2anttlib_tlb::IColumnPtr var_Column4 = G2antt1->Columns->Add(L"Pos.4");
	var_Column4->FormatColumn = L"1 ropos '|A-Z|'";
	var_Column4->Position = 3;
	var_Column4->Width = 32;
	var_Column4->AllowSizing = false;
Exg2anttlib_tlb::IColumnPtr var_Column5 = G2antt1->Columns->Add(L"Pos.5");
	var_Column5->FormatColumn = L"'<font Tahoma;7>' + 1 ropos '-<b>||A-Z'";
	var_Column5->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
	var_Column5->Position = 4;
	var_Column5->Width = 32;
	var_Column5->AllowSizing = false;
Exg2anttlib_tlb::IColumnPtr var_Column6 = G2antt1->Columns->Add(L"Pos.6");
	var_Column6->FormatColumn = L"'<b>'+ 1 ropos '</b>:<fgcolor=FF0000>|A-Z|'";
	var_Column6->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
	var_Column6->Position = 5;
	var_Column6->Width = 48;
	var_Column6->AllowSizing = false;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
G2antt1->ApplyFilter();
G2antt1->EndUpdate();

1301
Is it possible to auto-numbering the children items too

G2antt1->BeginUpdate();
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->Columns->Add(L"Items");
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Pos.1");
	var_Column->FormatColumn = L"1 rpos ''";
	var_Column->Position = 0;
	var_Column->Width = 32;
	var_Column->AllowSizing = false;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Pos.2");
	var_Column1->FormatColumn = L"1 rpos ':'";
	var_Column1->Position = 1;
	var_Column1->Width = 32;
	var_Column1->AllowSizing = false;
Exg2anttlib_tlb::IColumnPtr var_Column2 = G2antt1->Columns->Add(L"Pos.3");
	var_Column2->FormatColumn = L"1 rpos ':|A-Z'";
	var_Column2->Position = 2;
	var_Column2->Width = 32;
	var_Column2->AllowSizing = false;
Exg2anttlib_tlb::IColumnPtr var_Column3 = G2antt1->Columns->Add(L"Pos.4");
	var_Column3->FormatColumn = L"1 rpos '|A-Z|'";
	var_Column3->Position = 3;
	var_Column3->Width = 32;
	var_Column3->AllowSizing = false;
Exg2anttlib_tlb::IColumnPtr var_Column4 = G2antt1->Columns->Add(L"Pos.5");
	var_Column4->FormatColumn = L"'<font Tahoma;7>' + 1 rpos '-<b>||A-Z'";
	var_Column4->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
	var_Column4->Position = 4;
	var_Column4->Width = 32;
	var_Column4->AllowSizing = false;
Exg2anttlib_tlb::IColumnPtr var_Column5 = G2antt1->Columns->Add(L"Pos.6");
	var_Column5->FormatColumn = L"'<b>'+ 1 rpos '</b>:<fgcolor=FF0000>|A-Z|'";
	var_Column5->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
	var_Column5->Position = 5;
	var_Column5->Width = 48;
	var_Column5->AllowSizing = false;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
G2antt1->EndUpdate();